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

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

3
Linux: เป็นไปได้ไหมที่จะเห็นเฉพาะเธรด / กระบวนการของพื้นที่เคอร์เนล
ฉันรู้ว่ามีสอง "ระดับ" ของโปรแกรม: พื้นที่ผู้ใช้และพื้นที่เคอร์เนล คำถามของฉันคือ: ฉันต้องการเห็นเฉพาะโปรแกรมเคอร์เนลหรือดีกว่า: โปรแกรมบนพื้นที่เคอร์เนล วิธีนี้ถูกต้องหรือไม่ ps -ef|grep "\[" root 1 0 0 20:23 ? 00:00:00 init [4] root 2 0 0 20:23 ? 00:00:00 [kthreadd] root 3 2 0 20:23 ? 00:00:00 [ksoftirqd/0] root 5 2 0 20:23 ? 00:00:00 [kworker/0:0H] root 7 2 0 20:23 ? …


2
tmux session หายไปใน pts ที่ไม่ทราบสาเหตุและวิธีแก้ไข
ฉันพยายามแนบใหม่กับเซสชัน tmux ที่ใช้งานมานานเพื่อตรวจสอบบนแอปพลิเคชันเว็บไพ ธ อน อย่างไรก็ตามtmux attachอ้างว่าไม่มีเซสชันที่ทำงานอยู่และpsแสดงtmuxกระบวนการ (บรรทัดแรก) แต่มีเครื่องหมายคำถามแทนptsหมายเลข สิ่งนี้หมายความว่า --- เซสชั่น tmux นี้จะหายไปอย่างถาวรและสิ่งที่อาจทำให้มันได้หรือไม่ ยังมีวิธีการดูสถานะปัจจุบันของกระบวนการหลามที่เกิดในเซสชั่น tmux และทำงานในpts/19(บรรทัดที่สอง)? [mhermans@web314 ~]$ ps -ef | grep mhermans mhermans 16709 1 0 Mar04 ? 00:26:32 tmux mhermans 8526 16710 0 Mar04 pts/19 00:20:04 python2.7 webapp.py root 9985 6671 0 10:18 ? 00:00:00 sshd: mhermans …
27 process  tmux  session 

7
แก้ไขปัญหา“ firefox is ทำงานแล้ว” ใน Linux
ฉันพยายามเปิด Firefox ใน CentOS แต่ฉันได้รับข้อความต่อไปนี้: Firefox กำลังทำงานอยู่ แต่ไม่ตอบสนอง และ Firefox ไม่เปิด ฉันลองในบรรทัดคำสั่ง: kill Firefox แต่มันไม่ทำงาน นอกจากนี้ฉันไม่ทราบว่าไดเรกทอรีใดที่ฉันต้องเรียกใช้คำสั่งที่ถูกต้อง ฉันจะแก้ไขสิ่งนี้ได้อย่างไร
27 process  kill  firefox 

2
เมื่อคุณพยายามที่จะยุติกระบวนการที่ดีคุณควรใช้ตัวเลือก“ ฆ่า” แบบใด?
ฉันได้รับข้อความมากมายจากผู้คนและสงสัยว่าจริงๆแล้วมันมีความแตกต่างไม่มากในสิ่งที่คุณใช้ kill 'x' killall 'x' kill -9 'x' นี่คือตัวเลือกบางอย่างที่ฉันได้รับคำสั่งให้ใช้จนถึงตอนนี้ แต่บางคนบอกว่า kill -9 เป็นเพียง overkill การฆ่าด้วยตัวเองไม่ทำงาน ฯลฯ ใครบ้างมีคำแนะนำใด ๆ ที่ควรใช้ในกรณีมาตรฐานมากที่สุดเพียงแค่ยกเลิกกระบวนการ (และทำให้สถานะของมันเช่นกัน)? [แก้ไข] ฉันกำลังมองหาสิ่งที่จะใช้เมื่อคุณต้องการที่จะหยุดการดำเนินการของกระบวนการของคุณเพื่อให้คุณสามารถเรียกใช้ใหม่สดจากจุดเริ่มต้น
26 process  kill  signals 

1
กระบวนการเริ่มต้น: บรรพบุรุษของกระบวนการทั้งหมดหรือไม่
ฉันได้เรียนรู้อยู่เสมอว่ากระบวนการเริ่มต้นเป็นบรรพบุรุษของกระบวนการทั้งหมด ทำไมโพรเซส 2 จึงมี PPID เป็น 0 $ ps -ef | head -n 3 UID PID PPID C STIME TTY TIME CMD root 1 0 0 May14 ? 00:00:01 /sbin/init root 2 0 0 May14 ? 00:00:00 [kthreadd]
26 linux  process  init 

4
เกิดอะไรขึ้นกับผลลัพธ์ของกระบวนการที่ถูกปฏิเสธและสูญเสียเทอร์มินัล
ถ้าฉันปิดเทอร์มินัลเสมือนซึ่งบางกระบวนการเริ่มทำงานเอาต์พุตจะตรงไป/dev/nullหรืออาจทำให้หน่วยความจำสกปรกได้หรือไม่ ฉันสามารถดึงเอาท์พุทออกมาอ่านต่อได้หลังจากนั้นได้ไหม? [แก้ไข]: ดังนั้นเป็นช่วงเวลาของการปฏิเสธกระบวนการอย่างมีประสิทธิภาพสิ้นอำนาจของฉันในการควบคุมการส่งออกของมันได้หรือไม่ ฉันยังสังเกตเห็นด้วยว่าถ้าฉันปฏิเสธกระบวนการที่หยุดตอนแรกทุกอย่างดูเหมือนปกติ: มันไม่ได้ถูกยกเลิกหรือแสดงในงาน แต่ถ้าฉันออกจากระบบ (และฉันไม่ได้หมายถึงปิดเทอร์มินัลเพียงออกจากsuตัวอย่าง) กระบวนการจะสิ้นสุดลง กระบวนการที่ถูกปฏิเสธการดำเนินการเบื้องหลังทั้งหมดยังคงทำงานต่อไป

7
การตรวจสอบกระบวนการเทียบเท่ากับ Linux?
มี Unix / Linux เทียบเท่ากับProcess Monitorไม่ว่าจะเป็น GUI หรือ CUI? ถ้ามันสร้างความแตกต่างฉันกำลังดู Ubuntu แต่ถ้ามันมีระบบที่เทียบเท่ากับระบบอื่น (Mac, Linux รุ่นอื่น ๆ เช่น Fedora ฯลฯ ) การรู้ว่าสิ่งเหล่านั้นจะมีประโยชน์เช่นกัน แก้ไข: การตรวจสอบกระบวนการสำหรับการตรวจสอบการเรียกระบบ (เช่นการสร้างไฟล์หรือเขียน) ในขณะที่การสำรวจกระบวนการสำหรับการตรวจสอบสถานะกระบวนการ (ซึ่งเป็นเหมือนการตรวจสอบระบบ) ฉันขออดีตไม่ใช่อย่างหลัง :-)

2
ฉันจะฆ่ามัลแวร์ที่น่าสนใจบนอินสแตนซ์ AWS EC2 ได้อย่างไร (เซิร์ฟเวอร์ที่ถูกบุกรุก)
ฉันพบมัลแวร์บนอินสแตนซ์ ec2 ของฉันซึ่งขุด bitcoin อย่างต่อเนื่องและใช้พลังการประมวลผลของฉัน ฉันระบุกระบวนการได้สำเร็จ แต่ไม่สามารถลบและฆ่าได้ ฉันรันคำสั่งนี้ watch "ps aux | sort -nrk 3,3 | head -n 5" มันแสดงกระบวนการห้าอันดับแรกที่ทำงานบนอินสแตนซ์ของฉันซึ่งฉันพบว่ามีชื่อกระบวนการ ' bashd ' ซึ่งกินซีพียู 30% กระบวนการนี้เป็น bashd -a cryptonight -o stratum+tcp://get.bi-chi.com:3333 -u 47EAoaBc5TWDZKVaAYvQ7Y4ZfoJMFathAR882gabJ43wHEfxEp81vfJ3J3j6FQGJxJNQTAwvmJYS2Ei8dbkKcwfPFst8FhG -p x ฉันฆ่ากระบวนการนี้โดยใช้kill -9 process_idคำสั่ง หลังจาก 5 วินาทีกระบวนการเริ่มต้นอีกครั้ง
26 linux  process  kill  malware 

2
ใน bash script วิธีจับ stdout ทีละบรรทัด
ในสคริปต์ทุบตีฉันต้องการจับเอาท์พุทมาตรฐานของบรรทัดคำสั่งแบบยาวต่อบรรทัดเพื่อให้สามารถวิเคราะห์และรายงานได้ในขณะที่คำสั่งเริ่มต้นยังคงทำงานอยู่ นี่เป็นวิธีที่ซับซ้อนที่ฉันสามารถจินตนาการได้: # Start long command in a separated process and redirect stdout to temp file longcommand > /tmp/tmp$$.out & #loop until process completes ps cax | grep longcommand > /dev/null while [ $? -eq 0 ] do #capture the last lines in temp file and determine if there is …
26 bash  process  stdout 

4
แสดงการเชื่อมต่อเครือข่ายของกระบวนการ
มีวิธีแสดงการเชื่อมต่อของกระบวนการหรือไม่ อะไรแบบนั้น: show PID ซึ่งshowเป็นคำสั่งให้ทำเช่นนี้และPIDเป็น pid ของกระบวนการ ผลลัพธ์ที่ฉันต้องการประกอบด้วยการเชื่อมต่อของกระบวนการทั้งหมด (แบบเรียลไทม์) ตัวอย่างเช่นถ้ากระบวนการพยายามที่จะเชื่อมต่อกับ173.194.112.151173.194.112.151ออกเป็น ตัวอย่างที่เฉพาะเจาะจงมากขึ้นกับ Firefox: show `pidof firefox` และกับ Firefox ผมไปครั้งแรกบนgoogle.comแล้วในunix.stackexchange.comและในที่สุดก็192.30.252.129 ผลลัพธ์เมื่อฉันปิดเบราว์เซอร์จะต้อง: google.com stackexchange.com 192.30.252.129 (เห็นได้ชัดกับเบราว์เซอร์เอาต์พุตนี้ไม่เหมือนจริงเนื่องจากมีการเชื่อมต่ออื่น ๆ ที่เกี่ยวข้องจำนวนมาก แต่นี่เป็นเพียงตัวอย่างเท่านั้น)

1
วิธีการตรวจสอบความพร้อมใช้งาน CPU พิเศษสำหรับกระบวนการที่กำลังทำงานอยู่
ในตอนแรกคำถามดูเหมือนจะงี่เง่า / สับสนเล็กน้อยเนื่องจากระบบปฏิบัติการทำหน้าที่จัดการการประมวลผลกระบวนการ อย่างไรก็ตามฉันต้องการวัดว่าบางกระบวนการมี CPU / IO-bound และฉันรู้สึกว่าระบบปฏิบัติการของฉันแทรกแซงการทดลองของฉันด้วยตัวอย่างเช่นกระบวนการ OS ที่กำหนดเวลาไว้ เป็นตัวอย่างสถานการณ์ต่อไปนี้: ฉันรันกระบวนการ A สองครั้งและรับผลลัพธ์ต่อไปนี้จากเครื่องมือ "time" (คอลัมน์เวลาเป็นวินาที): +---+-------+---------+-----------+---------+ |Run|Process|User Time|System Time|Wall time| +---+-------+---------+-----------+---------+ |1 |A |196.3 |5.12 |148.86 | |2 |A |190.79 |4.93 |475.46 | +---+-------+---------+-----------+---------+ อย่างที่เราเห็นแม้ว่าเวลาของผู้ใช้และระบบจะคล้ายกัน แต่เวลาที่ผ่านไปของการเปลี่ยนแปลงทั้งสองอย่างมาก (ต่างกันประมาณ 5 นาที) รู้สึกเหมือนบางสิ่งในสภาพแวดล้อมของฉันทำให้เกิดความขัดแย้งบ้าง ฉันต้องการหยุดกระบวนการพื้นหลัง / บริการทุกอย่างที่เป็นไปได้เพื่อหลีกเลี่ยงเสียงรบกวนใด ๆ ในระหว่างการทดสอบของฉัน แต่ฉันคิดว่าตัวเองเป็นผู้ใช้มือใหม่และผู้ใช้ระดับกลางระดับกลางและฉันไม่รู้วิธีรับประกันสิ่งนี้ ฉันใช้Linux 4.4.0-45-genericกับUbuntu 14.04 …

5
วิธีค้นหาเนมสเปซของกระบวนการเฉพาะ
ฉันได้ถามคำถามเกี่ยวกับวิธีการแสดงรายการ namespaces ทั้งหมดใน Linuxแต่ไม่มีคำตอบที่ถูกต้องและแน่นอนดังนั้นฉันต้องการค้นหาวิธีที่สามารถช่วยฉันค้นหา namespace ของ PID ของกระบวนการหรือกลุ่มของ กระบวนการ จะทำอย่างไรใน Linux?

7
วิธีดูว่ามีการสลับบริบทกี่ครั้งในกระบวนการ
ฉันต้องการดูว่ากระบวนการของฉันทำให้เกิดการสลับบริบทมากมายหรือไม่ ฉันต้องการเห็นว่าการจัดการกลุ่มงานมีผลต่อจำนวนของการสลับบริบทอย่างไร
25 linux  shell  process 

2
เหตุใดฉันจึงไม่สามารถฆ่ากระบวนการ SIGSTOP ด้วย SIGTERM และสัญญาณที่ค้างอยู่ถูกเก็บไว้ที่ไหน
ฉันกำลังใช้ Debian stretch (systemd) ฉันใช้ rsyslog daemon ในโหมดเบื้องหน้าโดยใช้ /usr/sbin/rsyslogd -n และฉันได้Ctrl+ Zเพื่อหยุดมัน สถานะของกระบวนการเปลี่ยนเป็นTl(หยุดทำงาน, เธรด) ฉันออกคำสั่งหลายคำสั่งให้กับกระบวนการและสถานะของกระบวนการเหมือนกัน: . เมื่อฉันทำมันก็ตาย ฉันมี 3 คำถามkill -15 <pid>Tlfg ทำไมเป็นSIGSTOPกระบวนการ -ed ไม่ตอบสนองต่อSIGTERM? ทำไมเคอร์เนลจึงเก็บมันไว้ในสถานะเดียวกัน ทำไมมันถึงถูกฆ่าทันทีที่ได้รับSIGCONTสัญญาณ หากเป็นเพราะSIGTERMสัญญาณก่อนหน้านี้จะถูกเก็บไว้ที่ไหนจนกว่ากระบวนการจะกลับมาทำงานต่อ
24 process  kill  signals 

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