การควบคุมกระบวนการ UNIX


1

เริ่มรู้สึกถึงยูนิกซ์และมีปัญหาในการค้นหาคำสั่งสำหรับการควบคุมกระบวนการ ในฐานะผู้ใช้ที่ไม่รูทฉันพยายามค้นหา ...

(1) the process id of current shell, 
(2) its parent process’s process id, 
(3) how many processes this user is running, 
(4) how many of processes are running on the machine, 
(5) how many are sleeping, how many are stopped, 
(6) how much total memory your machine has, 
(7) how much of that is used and how much is free.
(8) how to determine whether or not a process is using more than X amount of memory
(9) how to suspend a process temporarily for investigation purposes and how to resume it again
(10)terminating a process and ensuring it is in fact, terminated

เพื่อนแนะนำให้ฉันใช้

man

แต่ฉันมีปัญหาในการนำทาง หากคุณสามารถแบ่งปันแหล่งข้อมูลทั่วไปที่ยอดเยี่ยมสำหรับคำสั่ง unix ก็จะได้รับการชื่นชมมาก


เมื่อพิจารณาถึงเรื่องนี้และคำถามก่อนหน้าของคุณดูเหมือนว่านี่เป็นการทำการบ้าน คุณลองใช้ google เพื่อค้นหาคำตอบสำหรับคำถามเหล่านี้หรือไม่?

2
บางครั้งมันก็ยากที่จะบอกเพื่อนจากศัตรูเมื่อพวกเขาให้คำแนะนำเช่นนั้น
เกร็กฮิวกิลล์

ฉันแนะนำ RUTE นั่นทำให้ฉันเป็นเพื่อนที่ดีขึ้นมาก
Ignacio Vazquez-Abrams

ใช่ฉันเพิ่งค้นพบว่า Google นั้นเร็วกว่าการรวมคู่มือ พวกคุณไม่ได้ล้อเล่นเมื่อคุณพูดว่า Google เป็นเพื่อนที่ดีที่สุดของคุณแม้ว่าฉันจะเริ่มเรียนรู้การใช้ไวยากรณ์ในการค้นหาอย่างละเอียดเพื่อผลลัพธ์ที่ดีกว่า

คำตอบ:


0

นี่คือเฉพาะสำหรับ Linux และทุบตี บางส่วนจะทำงานกับ Unixes อื่น ๆ และบางตัวจะทำงานในเชลล์อื่น โดยเฉพาะอย่างยิ่งสิ่งที่เกี่ยวข้องกับสิ่งต่าง ๆ ใน/procจะไม่ทำงานบน Unix อื่น ๆ และในขณะที่ผมคิดว่าส่วนใหญ่มีเปลือกหอย$$ผมไม่ทราบว่าเปลือกใด ๆ $PPIDแต่มีการทุบตี

  1. echo $$
  2. echo $PPID
  3. ps -u $USER | tail -n +2 | wc -l
  4. ps -e | tail -n +2 | wc -l
  5. เป็นไปได้ที่จะทราบ แต่ไม่ใช่เรื่องง่าย
  6. fgrep MemTotal /proc/meminfo
  7. คำถามนี้ยังไม่มีคำตอบที่ง่าย ในระบบในอุดมคติไม่มีหน่วยความจำเล็ก ๆ น้อย ๆ 'ฟรี' เนื่องจากโปรแกรมที่ไม่จำเป็นต้องจัดสรรให้กับดิสก์แคช Linux เปลี่ยนหน่วยความจำแบบไดนามิกระหว่างการใช้งานโดยกระบวนการและใช้งานโดยแคช
  8. ps -ev และมองหากระบวนการที่มี RSS ขนาดใหญ่ซึ่งหมายถึง 'ขนาดชุดที่อยู่อาศัย' และแสดงถึงจำนวนหน่วยความจำที่กระบวนการใช้
  9. kill -STOP <pid>
  10. ครั้งแรกที่ฆ่ามันเบา ๆและถ้ามันไม่ได้หายไปไม่นานหลังจากที่ฆ่ามันด้วยอคติkill <pid> kill -9 <pid>มันจะหายไปหลังจาก -9 ถ้าไม่เป็นปัญหาเคอร์เนลบางชนิด

ตามที่บางคนกล่าวมาแล้วtopยูทิลิตี้ (ทำกman top) จะมีประโยชน์มาก มันจะบอกคุณเกี่ยวกับหน่วยความจำทั้งหมดและปริมาณการใช้บัฟเฟอร์และแคชและเท่าไหร่ที่ว่าง นอกจากนี้ยังสามารถใช้เพื่อแสดงกระบวนการที่สั่งซื้อโดยการใช้หน่วยความจำหรือการใช้งาน CPU


ว้าวความเข้าใจที่ดีโดยเฉพาะอย่างยิ่งในจุดที่ 7 ขอบคุณสำหรับเวลาของคุณ

0

สำหรับผู้เริ่มต้นนี่คือสูตรโกงสำหรับคำสั่ง Unix ทั่วไป วัตถุประสงค์ของmanการค้นหาข้อมูลเพิ่มเติมเกี่ยวกับแต่ละคำสั่งเช่นตัวเลือกและอินพุตที่ต้องการ ดังนั้นlsรายการไฟล์ในไดเรกทอรีปัจจุบันของคุณ หากคุณman lsคุณสามารถค้นหาตัวเลือกเพิ่มเติมสำหรับคำสั่งนั้น


มีประโยชน์มากที่จะทำให้มันเป็นรอยสักที่แขนของฉัน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.