วันนี้ย้อนกลับไปในประวัติศาสตร์ที่ค่อนข้างคดเคี้ยวของ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
เหมาะสมคือการยืนอยู่ที่ขอบของเหวที่ไม่มีความหมายที่จะรู้