วันนี้ย้อนกลับไปในประวัติศาสตร์ที่ค่อนข้างคดเคี้ยวของUnix (Wikipedia มีไดอะแกรมแบบง่ายๆ ซึ่งยังห่างไกล จากความสมบูรณ์) โดยเฉพาะอย่างยิ่งในขณะที่มีสองกระแสหลัก: System Vพัฒนาโดย AT&T และBSDพัฒนาที่ University of California, Berkeley นี่เป็นช่วงต้นทศวรรษ 1980 ก่อน Linux (1991) นับประสา Ubuntu (2004) บ่อยครั้งที่กระแสทั้งสองนี้ทำการตัดสินใจแตกต่างกันและแม้กระทั่งทุกวันนี้คุณจะพบการอ้างอิงถึงคุณลักษณะหรือตัวแปร“ System V” และ“ BSD” เป็นครั้งคราว
psวันที่คำสั่งกลับมาจากหนึ่งในรุ่นแรกของระบบปฏิบัติการยูนิกซ์ (มันไม่ได้อยู่ในรุ่นที่ 1, หน้าคนที่เก่าแก่ที่สุดที่ฉันสามารถค้นหาออนไลน์จากรุ่น 5 (p.94) ในปี 1974) ในเวลานั้นpsมีเพียงไม่กี่ตัวเลือกเช่นps aจะแสดงกระบวนการทั้งหมดแทนที่จะเป็นเพียงแค่ผู้ใช้และps xจะแสดงกระบวนการที่ไม่มีเทอร์มินัลเชื่อมต่อ คุณจะทราบว่าตัวเลือกที่ไม่ได้ขึ้นต้นด้วย-: ในขณะนั้นการใช้งาน-สำหรับตัวเลือกนั้นไม่ใกล้เคียงกับระบบเหมือนทุกวันนี้ส่วนใหญ่เป็นสิ่งสำหรับคำสั่งที่ใช้ชื่อไฟล์เป็นอาร์กิวเมนต์ปกติ
เมื่อเวลาผ่านไปความหลากหลายของ Unix ได้ขยายออกไปpsพร้อมกับตัวเลือกอื่น ๆ อีกมากมาย ตัวแปร BSD เลือกที่จะรักษาไวยากรณ์ดั้งเดิมโดยไม่มีการนำ-หน้าและaและxยังคงมีอยู่ในปัจจุบัน ตัวแปร System V เลือกที่จะนำระเบียบแบบแผนทางไวยากรณ์ของ-สำหรับตัวเลือกและใช้ตัวอักษรที่แตกต่างกัน (ตัวอย่างเช่นps -eเพื่อแสดงกระบวนการทั้งหมด) Oracle (เดิมคือ Sun) Solarisเป็นตัวอย่างของตัวแปร System V (Solaris ยังจัดส่งpsไฟล์ปฏิบัติการแยกต่างหากในไดเรกทอรีที่ไม่ได้อยู่ในค่าเริ่มต้นPATHสำหรับแอปพลิเคชันที่เขียนด้วย BSD ในใจ)
ในช่วงเวลาที่ลินุกซ์เข้ามาในฉากคนที่ใช้มันมักจะมีประสบการณ์ก่อนหน้าหนึ่งของตัวแปร Unix หรืออย่างอื่น บางครั้ง Linux ทำสิ่งต่างๆด้วยวิธี System V บางครั้งใช้วิธี BSD บางครั้งเป็นของตัวเองไม่ว่าจะพิจารณาทางเทคนิคหรือพิจารณาจากประสบการณ์และรสนิยมของผู้ที่นำคุณลักษณะนี้ไปใช้ psคำสั่งของ Linux เริ่มต้นด้วยตัวเลือกคล้าย BSD เช่นps aeเพื่อแสดงกระบวนการทั้งหมดและรวมถึงตัวแปรสภาพแวดล้อมในรายการ เมื่อเวลาผ่านไป (ในช่วงปลายปี 1990 ผมจำไม่ได้ว่าเมื่อไหร่) ผู้เขียนpsตัวเลือกเพิ่มเติมของลินุกซ์สำหรับผู้ที่เคยชินกับระบบโวลต์ดังนั้นวันนี้ps axหรือps -eจะแสดงรายการกระบวนการทั้งหมดภายใต้ Linux และยังมีตัวแปรสภาพแวดล้อมด้วย ( PS_PERSONALITY) เพื่อให้ps ทำตัวเหมือน Unix สายพันธุ์ Unix ที่หลากหลายเพื่อประโยชน์ของสคริปต์เก่าและผู้ที่มีนิสัยที่กำหนดไว้
คนที่ใช้ Unix หลายรุ่นไม่ชอบที่จะต้องปรับเปลี่ยนโปรแกรมและพฤติกรรมของพวกเขาเมื่อเปลี่ยนจาก Unix หนึ่งไปเป็นอีก ดังนั้นจึงมีความพยายามที่จะสร้างมาตรฐานให้กับชุดย่อยของฟังก์ชันการทำงาน สิ่งนี้นำไปสู่มาตรฐานPOSIX (นำโดยIEEE ) ซึ่ง Ubuntu โดยและมีขนาดใหญ่ดังต่อไปนี้ รุ่นแรกที่มีขอบเขตรวมถึงpsคำสั่งออกมาในปี 1992; อันนี้ไม่พร้อมใช้งานออนไลน์ แต่รุ่น 1997เป็น สำหรับpsคำสั่งเช่นในหลาย ๆ กรณี POSIX ใช้วิธีการของ System V ในการทำสิ่งต่าง ๆ
psไวยากรณ์คำสั่งมาตรฐานเป็นหนึ่งที่เข้ากันได้กับทั้งระบบวีและ POSIX นอกจากนี้ไวยากรณ์นั้นสามารถพูดได้ว่าเป็นมาตรฐานเพราะมันใช้-เพื่อแนะนำตัวเลือกโดยค่าเริ่มต้น บางตัวเลือกมีอยู่ในหนึ่งในสองไวยากรณ์เท่านั้น โชคดีที่พวกเขาสามารถผสมในสายเดียวกัน
โดยทั่วไปแล้วคำว่า“ BSD” กับ“ System V” ไม่มีความหมายทางเทคนิคใด ๆ มันหมายถึงประวัติศาสตร์:“ BSD” เป็นสิ่งที่ BSD เลือกในยุค 80 และในที่นั้น“ System V” เป็นทางเลือกของ AT&T และพันธมิตรของพวกเขา (โดยเฉพาะอย่างยิ่ง Sun) “ POSIX” เป็นสิ่งที่คณะกรรมการมาตรฐาน IEEE เลือก
psเหมาะสมคือการยืนอยู่ที่ขอบของเหวที่ไม่มีความหมายที่จะรู้