คำถามติดแท็ก process

กระบวนการเป็นตัวอย่างของโปรแกรมคอมพิวเตอร์ที่กำลังดำเนินการ

10
มีวิธีดูรายละเอียดของเธรดทั้งหมดที่กระบวนการมีใน Linux หรือไม่?
สำหรับ Windows ฉันคิดว่าProcess Explorerจะแสดงเธรดทั้งหมดให้คุณทราบ มียูทิลิตีบรรทัดคำสั่งที่คล้ายกันสำหรับ Linux ที่สามารถแสดงรายละเอียดเกี่ยวกับเธรดทั้งหมดที่กระบวนการเฉพาะวางไข่หรือไม่ ฉันคิดว่าฉันควรทำให้ตัวเองชัดเจนยิ่งขึ้น ฉันไม่ต้องการที่จะเห็นลำดับชั้นของกระบวนการ แต่รายการของกระทู้ทั้งหมดที่เกิดจากกระบวนการเฉพาะ ดูภาพหน้าจอนี้ วิธีนี้สามารถทำได้ใน Linux? ขอบคุณ!

5
ฉันจะแนบเทอร์มินัลเข้ากับกระบวนการที่แยกออกได้อย่างไร
ฉันได้แยกกระบวนการออกจากเทอร์มินัลของฉันเช่นนี้ $ process & เทอร์มินัลนั้นปิดตัวไปนาน แต่processยังคงทำงานอยู่และฉันต้องการส่งคำสั่งบางอย่างไปยัง stdin ของกระบวนการนั้น เป็นไปได้ไหม

7
ทำไมเราต้องแยกเพื่อสร้างกระบวนการใหม่
ใน Unix ทุกครั้งที่เราต้องการสร้างกระบวนการใหม่เราแยกกระบวนการปัจจุบันสร้างกระบวนการลูกใหม่ซึ่งเหมือนกับกระบวนการแม่ จากนั้นเราทำการเรียกระบบ exec เพื่อแทนที่ข้อมูลทั้งหมดจากกระบวนการหลักด้วยกระบวนการนั้นสำหรับกระบวนการใหม่ เหตุใดเราจึงสร้างสำเนาของกระบวนการหลักในตอนแรกและไม่สร้างกระบวนการใหม่โดยตรง

3
ลินุกซ์“ ฆ่า” กระบวนการอย่างไร?
บ่อยครั้งที่ทำให้ฉันงงงันแม้ว่าฉันจะทำงานกับคอมพิวเตอร์เป็นเวลาหลายสิบปีและลีนุกซ์เป็นเวลาสิบปี แต่ฉันก็ยังใช้งานฟังก์ชั่นส่วนใหญ่ของระบบปฏิบัติการได้เหมือนกล่องดำ วันนี้ฉันคิดเกี่ยวกับkillคำสั่งและในขณะที่ฉันใช้มันหลายครั้งต่อวัน (ทั้งใน "ปกติ" และ-9รสชาติ) ฉันต้องยอมรับว่าฉันไม่รู้ว่ามันใช้งานได้อย่างไรอยู่เบื้องหลัง จากมุมมองของฉันหากกระบวนการทำงานเป็น "หยุด" ฉันเรียกkillใช้ PID ของมันและจากนั้นจะไม่ทำงานอีกต่อไป มายากล! เกิดอะไรขึ้นจริง ๆ หน้าพูดคุยเกี่ยวกับ "สัญญาณ" แต่แน่นอนว่าเป็นเพียงนามธรรม การส่งkill -9ไปยังกระบวนการไม่ต้องการความร่วมมือของกระบวนการ (เช่นการจัดการสัญญาณ) มันแค่ฆ่ามันออกไป Linux หยุดกระบวนการไม่ให้ใช้เวลา CPU ต่อไปอย่างไร มันถูกลบออกจากการตั้งเวลา? มันยกเลิกการเชื่อมต่อกระบวนการจากตัวจัดการไฟล์ที่เปิดอยู่หรือไม่? หน่วยความจำเสมือนของกระบวนการเปิดตัวอย่างไร มีบางสิ่งที่เหมือนตารางทั่วโลกในหน่วยความจำที่ลีนุกซ์อ้างอิงทรัพยากรทั้งหมดที่เกิดขึ้นจากกระบวนการและเมื่อฉัน "ฆ่า" กระบวนการลีนุกซ์จะผ่านตารางนั้นและปลดปล่อยทรัพยากรทีละตัว? ฉันอยากรู้ทุกอย่างจริงๆ!

5
การพิจารณาว่ากระบวนการใดถูกผูกไว้กับพอร์ต
ฉันรู้ว่าใช้คำสั่ง: lsof -i TCP (หรือตัวแปรบางตัวที่มี lsof) ฉันสามารถพิจารณาว่ากระบวนการใดที่ถูกผูกไว้กับพอร์ตเฉพาะ สิ่งนี้มีประโยชน์บอกถ้าฉันพยายามเริ่มต้นสิ่งที่ต้องการผูกกับ 8080 และบางคนกำลังใช้พอร์ตนั้นอยู่แล้ว แต่ฉันไม่รู้ว่าอะไร มีวิธีง่าย ๆ โดยไม่ใช้ lsof หรือไม่ ฉันใช้เวลาในการทำงานกับหลาย ๆ ระบบและมักจะไม่ได้ติดตั้ง
90 networking  process  tcp  lsof 

4
ฉันสามารถเพิ่ม“ && prog2” ลงใน prog1 ที่รันอยู่แล้วได้หรือไม่?
เชลล์ส่วนใหญ่มีฟังก์ชั่นเช่น&&และ;เชื่อมโยงการดำเนินการของคำสั่งด้วยวิธีการบางอย่าง แต่จะเกิดอะไรขึ้นถ้าคำสั่งกำลังทำงานอยู่ฉันยังคงสามารถเพิ่มคำสั่งอื่นที่จะดำเนินการได้หรือไม่ขึ้นอยู่กับผลลัพธ์ของคำสั่งแรก พูดว่าฉันวิ่ง $ /bin/myprog some output... /bin/myprog && /usr/bin/mycleanupแต่ผมอยาก ฉันไม่สามารถฆ่าmyprogและรีสตาร์ททุกสิ่งได้เพราะเวลามากเกินไปจะหายไป ฉันสามารถCtrl+ Zมันและfg/ bgถ้าจำเป็น สิ่งนี้ทำให้ฉันสามารถโยงในคำสั่งอื่นได้หรือไม่ ฉันสนใจทุบตีเป็นส่วนใหญ่ แต่ยินดีต้อนรับคำตอบสำหรับกระสุนทั่วไปทุกตัว!
87 bash  shell  process  exit 

7
จะค้นหากระบวนการใดที่ใช้หน่วยความจำทั้งหมด
ฉันกำลังมองหาบางอย่างเช่นด้านบนคือการใช้งาน CPU มีอาร์กิวเมนต์บรรทัดคำสั่งสำหรับด้านบนที่ทำเช่นนี้? ขณะนี้หน่วยความจำของฉันเต็มแล้วที่ว่า 'man top' ก็ล้มเหลวโดยไม่มีหน่วยความจำ :)
84 process  memory  top 

3
ถ้าคุณ ^ Z จากกระบวนการมันจะ "หยุด" คุณจะสลับกลับมาได้อย่างไร
ฉันตั้งใจ "หยุด" telnetกระบวนการของฉัน ตอนนี้ฉันไม่สามารถ "เปลี่ยนกลับ" เป็นมันและฉันไม่สามารถฆ่ามันได้ (มันจะไม่ตอบสนองkill 92929โดยที่ 92929 เป็นกระบวนการ) ดังนั้นคำถามของฉันคือถ้าคุณมีกระบวนการหยุดในบรรทัดคำสั่ง linux อย่างไรคุณเปลี่ยนกลับเป็นมันหรือฆ่ามันโดยไม่ต้องหันไปkill -9?

6
ฉันจะตรวจสอบสัญญาณที่กระบวนการกำลังรับฟังได้อย่างไร?
ฉันจะตรวจสอบว่ากระบวนการที่กำลังทำงานอยู่จะจับสัญญาณหรือเพิกเฉยหรือบล็อกได้อย่างไร โดยหลักการแล้วฉันต้องการดูรายการสัญญาณหรืออย่างน้อยก็ไม่จำเป็นต้องส่งสัญญาณเพื่อตรวจสอบ
81 process  signals 


11
ฆ่าหลายอินสแตนซ์ของกระบวนการทำงานด้วยคำสั่งเดียว
สมมติว่าฉันมีหนึ่งพันหรือมากกว่าอินสแตนซ์ของกระบวนการใด ๆ (ตัวอย่างเช่นvi) ทำงาน ฉันจะฆ่าพวกเขาทั้งหมดในหนึ่งนัดเดียว / คำสั่งหนึ่งบรรทัด / คำสั่งเดียวได้อย่างไร
75 process  kill 

5
กระบวนการใดที่สร้างหน้าต่าง X11 นี้
รับ ID หน้าต่าง X11 มีวิธีหา ID ของกระบวนการที่สร้างมันขึ้นมาหรือไม่? แน่นอนว่ามันเป็นไปไม่ได้เสมอไปเช่นถ้าหน้าต่างมาผ่านการเชื่อมต่อ TCP สำหรับกรณีนี้ฉันต้องการ IP และพอร์ตที่เกี่ยวข้องกับ remote end คำถามที่ถูกถามก่อนใน Stack Overflowและวิธีการที่เสนอคือการใช้_NET_WM_PIDคุณสมบัติ แต่นั่นถูกกำหนดโดยแอปพลิเคชัน มีวิธีทำอย่างไรหากแอปพลิเคชันเล่นได้ไม่ดี?
75 process  x11 


3
หากกระบวนการสืบทอดสภาพแวดล้อมของผู้ปกครองทำไมเราถึงต้องส่งออก
ฉันอ่านที่นี่ว่าวัตถุประสงค์ของexportเชลล์คือการทำให้ตัวแปรพร้อมใช้งานสำหรับกระบวนการย่อยที่เริ่มต้นจากเชลล์ อย่างไรก็ตามฉันได้อ่านที่นี่และที่นี่ว่า"กระบวนการสืบทอดสภาพแวดล้อมของพวกเขาจากผู้ปกครองของพวกเขา (กระบวนการที่เริ่มต้นพวกเขา)" หากเป็นกรณีนี้เราจำเป็นต้องทำexportอย่างไร ฉันพลาดอะไรไป ตัวแปรเชลล์ไม่ได้เป็นส่วนหนึ่งของสภาพแวดล้อมโดยปริยายหรือไม่? อะไรคือความแตกต่าง?

2
ประมวลผลด้วยชื่อแบบสุ่มที่ใช้ทรัพยากรเครือข่ายและ CPU อย่างมาก มีคนแฮ็คฉันหรือไม่
ใน VM บนผู้ให้บริการคลาวด์ฉันเห็นกระบวนการที่มีชื่อสุ่มแปลก ๆ ใช้ทรัพยากรเครือข่ายและ CPU ที่สำคัญ นี่คือลักษณะของกระบวนการจากpstreeมุมมอง: systemd(1)───eyshcjdmzg(37775)─┬─{eyshcjdmzg}(37782) ├─{eyshcjdmzg}(37783) └─{eyshcjdmzg}(37784) strace -p PIDผมติดอยู่กับขั้นตอนโดยใช้ นี่คือการส่งออกที่ผมเคยได้รับ: https://gist.github.com/gmile/eb34d262012afeea82af1c21713b1be9 การฆ่ากระบวนการไม่ทำงาน มีการคืนชีพอีกครั้ง (ผ่าน systemd?) นี่คือลักษณะจากมุมมองของ systemd ( จดบันทึกที่อยู่ IP แปลก ๆไว้ที่ด้านล่าง): $ systemctl status 37775 ● session-60.scope - Session 60 of user root Loaded: loaded Transient: yes Drop-In: /run/systemd/system/session-60.scope.d └─50-After-systemd-logind\x2eservice.conf, 50-After-systemd-user-sessions\x2eservice.conf, 50-Description.conf, 50-SendSIGHUP.conf, 50-Slice.conf, …

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