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

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

7
ฉันจะเริ่มต้นกระบวนการด้วยค่าที่ดีได้ที่ -20 และไม่ให้สิทธิ์รูท
ฉันต้องการเริ่มต้นกระบวนการด้วยค่าที่ดีของ -20 นี้ต้องให้ผมใช้คำสั่งเช่น sudo nice -n -20 matlab- อย่างไรก็ตามสิ่งนี้เริ่มต้นด้วย matlab ในฐานะรูทด้วย มีวิธีในการมี matlab ที่ไม่ใช่รูทหรือไม่? แนวทางปัจจุบันของฉันคือ - sudo nice -n -20 sudo -u myusername matlabซึ่งสำหรับฉันดูเหมือนว่าแฮ็ค มีวิธีโดยตรงในการทำเช่นนี้?
18 process  priority  nice 

2
มีปัญหาอะไรบ้างหากสถานะ Zombie ยังไม่หายไป?
ฉันมีหน่วยการผลิตที่กระบวนการจาวากลายเป็นซอมบี้และยังคงอยู่ที่นั่นชั่วระยะเวลาหนึ่ง หากหน่วยถูกรีสตาร์ทแล้วมันจะถูกล้าง อย่างไรก็ตามหน่วยจะไม่รีสตาร์ทและกระบวนการ java อื่นกำลังทำงาน จะมีปัญหาอะไรไหมถ้าสถานะซอมบี้นี้ยังคงอยู่เหมือนเดิมโดยไม่ต้องเคลียร์มัน? มันจะมีผลกระทบในทางใด (ประสิทธิภาพหรือความช้า) หรือไม่?
18 linux  process 

1
iotop แสดงการเขียนดิสก์ 1.5 MB / s แต่โปรแกรมทั้งหมดมี 0.00 B / s
ฉันไม่เข้าใจiotopผลลัพธ์: มันแสดง ~ 1.5 MB / s การเขียนดิสก์ (ด้านบนขวา) แต่โปรแกรมทั้งหมดมี 0.00 B / s ทำไม? วิดีโอถูกถ่ายเมื่อฉันลบเนื้อหาของโฟลเดอร์ที่มีไฟล์จำนวนไม่กี่ล้านไฟล์ที่ใช้ perl -e 'for(<*>){((stat)[9]<(unlink))}'บน Kubuntu 14.04.3 LTS x64 iotopsudo iotopถูกเปิดใช้
18 linux  process  monitoring  io 

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

1
กระบวนการที่ล็อกอัพโดยไม่สนใจ SIGKILL นั้นทำงานได้ (ไม่ใช่ซอมบี้หรืออยู่ในโหมดสลีปที่ไม่สามารถหยุดทำงานได้) อยู่ในสถานะใด
ฉันมีกระบวนการที่หลายต่อหลายครั้งในตอนนี้หยุดการตอบสนองและดูเหมือนจะล็อคอย่างสมบูรณ์ มันไม่ตอบสนองต่อความพยายามใด ๆ ที่ strace หรือ peeking กับ gdb (gdb เพิ่งแฮงค์บน wait4 () syscall) กระบวนการนี้เป็นกระบวนการที่ทำงานได้และจะไม่รอใน syscall (/ proc / X / syscall: running) หรือในการนอนหลับแบบต่อเนื่อง (/ proc / X / สถานะ: State: R (running)) กระบวนการนี้อยู่ในสถานะใด? นี่อาจเป็นข้อผิดพลาดของเคอร์เนลในบางประเภทหรือไม่ กระบวนการเป็นสีแดงและนี่เกิดขึ้นสองสามครั้งแล้ว สิ่งเดียวที่สามารถฆ่ากระบวนการนั้นได้คือการรีบูตดูเหมือนว่า ระบบปฏิบัติการคือ Cent 7 แก้ไข: เวอร์ชันเคอร์เนลคือ 3.10.0-123.13.2.el7.x86_64 ลองอัปเดตเป็น 3.10.0-229.11.1.el7 เพื่อดูว่ามีความแตกต่างหรือไม่

1
ทำไมฉันต้องใช้ dbus
ฉันเพิ่งลบ dbus ออกจากระบบของฉัน (พร้อมด้วย consolekit และ polkit) ฉันไม่ได้สังเกตเห็นการเปลี่ยนแปลงใด ๆ (ฉันเรียกใช้เป็น daemon ระบบและต่อผู้ใช้จาก. xinitrc) อย่างไรก็ตามหลายคนอ้างว่าเพียงแค่ต้องการ dbus แอปพลิเคชัน linux ส่วนใหญ่ใช้งานมัน ฯลฯ คำถามของฉันคือทำไมฉันต้องใช้มัน? ฉันไม่คิดว่าฉันเข้าใจว่ามันทำอะไรกันแน่ ฉันรู้ว่าเป็น "ระบบบัสข้อความ" ซึ่งเป็นกระบวนการสื่อสารผ่านมันเป็นต้นและ? ฉันยังไม่รู้ว่าฉันจะได้อะไรจากการใช้มัน มีใครช่วยอธิบายให้ฉันหน่อยได้ไหมโดยเฉพาะอย่างยิ่งกับตัวอย่าง "จากชีวิตจริง"
17 linux  process  d-bus 

2
กระบวนการใน UNIX มีหมายเลขอย่างไร
ฉันไม่พบรูปแบบใด ๆ เมื่อดูที่การกำหนดหมายเลข PID ในตารางกระบวนการ ( ps -a) เนื่องจาก PID ไม่ใช่ตัวเลขที่ตามมาและบางครั้งมี "ช่องว่าง" ขนาดใหญ่ระหว่างตัวเลขเหล่านั้น เป็นเพราะอาจมีกระบวนการบางอย่างที่ทำงานในช่วงเวลาสั้น ๆ และพวกเขาจอง PID บางส่วน? มีบางช่วงหลังจากที่จำนวนกระบวนการรีเซ็ตหรือไม่ ฉันใช้ Mac OS X แต่ฉันเดาว่าคำตอบควรใช้กับ UNIX โดยทั่วไป

2
ทำไมทุบตีแสดง 'ยุติ' หลังจากฆ่ากระบวนการ?
นี่คือพฤติกรรมที่ฉันต้องการเข้าใจ: $ ps PID TTY TIME CMD 392 ttys000 0:00.20 -bash 4268 ttys000 0:00.00 xargs $ kill 4268 $ ps PID TTY TIME CMD 392 ttys000 0:00.20 -bash [1]+ Terminated: 15 xargs $ ps PID TTY TIME CMD 392 ttys000 0:00.21 -bash ทำไมมันแสดงให้เห็น[1]+ Terminated: 15 xargsหลังจากที่ฉันฆ่ากระบวนการแทนที่จะไม่แสดงมันอย่างที่มันเพิ่งถูกฆ่า? ฉันใช้ทุบตีบน Mac OS X …
17 bash  process  kill 

5
ข้อแตกต่างระหว่าง ps และคำสั่ง top คืออะไร?
ความแตกต่างระหว่างpsและtopคำสั่งคืออะไร? ฉันเห็นว่าทั้งสองสามารถแสดงข้อมูลเกี่ยวกับกระบวนการทำงาน ควรใช้อันไหนเมื่อไหร่?

3
มีขีด จำกัด สูงสุดของจำนวนกระบวนการซอมบี้ที่คุณมีหรือไม่?
ฉันเคยทำงานกับระบบ HP-UX และผู้ดูแลระบบเก่าบอกฉันว่ามีจำนวน จำกัด ของกระบวนการซอมบี้ที่คุณมีในระบบฉันเชื่อว่า 1024 นี่เป็นเพดานจริงหรือเปล่า? ฉันคิดว่าคุณสามารถมีซอมบี้จำนวนเท่าใดก็ได้ราวกับว่าคุณมีกระบวนการจำนวนมาก ... ? มันแตกต่างจาก distro ไป distro หรือไม่? จะเกิดอะไรขึ้นถ้าเรามีขีด จำกัด สูงสุดและพยายามสร้างซอมบี้ตัวใหม่

2
วิธีการหยุด xargs จากการรวมเอาท์พุทจากกระบวนการหลายอย่างไม่ดี?
ฉันกำลังใช้xargsกับตัวเลือก--max-args=0(หรือ-P 0) อย่างไรก็ตามเอาต์พุตของกระบวนการถูกรวมเข้ากับstdoutสตรีมโดยไม่คำนึงถึงการแยกบรรทัดที่เหมาะสม ดังนั้นฉันมักจะจบลงด้วยบรรทัดเช่น: <start-of-line-1><line-2><end-of-line-1> ในขณะที่ฉันใช้egrepกับ^ในรูปแบบของฉันในxargsผลลัพธ์ทั้งหมดนี้จะทำให้สับสนผลลัพธ์ของฉัน มีวิธีบังคับxargsให้เขียนผลลัพธ์ของกระบวนการตามลำดับ (คำสั่งใด ๆ ตราบใดที่ผลลัพธ์ของหนึ่งกระบวนการนั้นต่อเนื่องกัน)? หรือวิธีการแก้ปัญหาอื่น ๆ ? แก้ไข:รายละเอียดเพิ่มเติมเกี่ยวกับกรณีการใช้งาน: ฉันต้องการดาวน์โหลดและแยกหน้าเว็บจากโฮสต์ที่แตกต่างกัน เนื่องจากทุกหน้าใช้เวลาประมาณหนึ่งวินาทีในการโหลดและมีหน้าเว็บไม่กี่โหลที่ฉันต้องการขนานการร้องขอ คำสั่งของฉันมีแบบฟอร์มต่อไปนี้: echo -n $IPs | xargs --max-args=1 -I {} --delimiter ' ' --max-procs=0 \ wget -q -O- http://{}/somepage.html | egrep --count '^string' ฉันใช้ bash และไม่ใช่อย่าง Perl เพราะ host IP (ตัวแปร $ IP) และข้อมูลอื่น ๆ …

3
ทุบตีสคริปต์เพื่อค้นหาและฆ่ากระบวนการด้วยอาร์กิวเมนต์บางอย่าง?
ฉันต้องการสคริปต์ที่ฆ่าอินสแตนซ์sshที่ถูกรันด้วยอาร์กิวเมนต์ -D (ตั้งค่าพร็อกซีในเครื่อง) ฉันทำด้วยตนเองps -A | grep -i sshค้นหาอินสแตนซ์ด้วย -D และkill -9 {id}แต่ละอัน แต่สิ่งที่ดูเหมือนในรูปแบบสคริปต์ทุบตี? (ฉันใช้ Mac OS X แต่จะติดตั้งคำสั่งที่จำเป็นผ่านport)
17 bash  process 

1
จะเปลี่ยนความถี่สลับบริบทของ Linux ได้อย่างไร?
เป็นไปได้อย่างไรที่จะเปลี่ยนความถี่บริบทลินุกซ์ (linaro, ubuntu, debian)? ฉันไม่เป็นไรสำหรับการซื้อขายออกจากระบบที่ตอบสนองน้อยกว่าสำหรับระบบที่มีประสิทธิภาพมากขึ้น EDIT1: ฉันมีกระบวนการหลักที่ฉันต้องการให้ทำงานเร็วที่สุดเท่าที่จะเป็นไปได้ (รอบนาฬิกาสูงสุดต่อวินาที) ดังนั้นฉันจึงคิดว่าจะลดความถี่บริบทของสวิตช์ (= เพิ่มช่วงเวลา) คำถามคือทำอย่างไรและจะมีผลกระทบที่สำคัญหรือไม่ ฉันสามารถคำนวณต้นทุนของการสลับบริบทได้หรือไม่ ความหมายฉันสามารถประเมินได้หรือไม่ถ้าฉันเพิ่มจำนวนเวลาสองเท่าฉันจะเพิ่มประสิทธิภาพการทำงานของฉันเป็น% สำหรับกระบวนการหลักที่ฉันสนใจได้อย่างไร

6
ฆ่ากระบวนการ Java เดียวเท่านั้น
ฉันมักจะใช้งานจาวาแอปพลิเคชั่นไม่กี่อันหนึ่งสำหรับเซิร์ฟเวอร์ที่ใช้งานในเครื่องและอื่น ๆ สำหรับ IDE บางตัวเช่น NetBeans และเป็นครั้งคราวหลังจากมีการปรับใช้มากมายเซิร์ฟเวอร์ของฉันติดอยู่ที่ OutOfMemoryException ดังนั้นฉันต้องฆ่ากระบวนการ Java เพื่อเริ่มต้นใหม่ ดังนั้นฉันจึงทำเช่นpkill -9 javaนี้ แต่ยังฆ่า IDE ที่รันอยู่ซึ่งฉันไม่ต้องการ ดังนั้นฉันจะฆ่าเฉพาะแอปพลิเคชันที่เชื่อมโยงกับเซิร์ฟเวอร์ที่ใช้งานและไม่ใช่แอปพลิเคชันอื่น ๆ ได้อย่างไรฉันคิดว่าพวกเขาทั้งหมดกำลังทำงานภายใต้กระบวนการเดียวกัน
17 process  java  kill 

4
เป็นไปได้ไหมที่จะหาเส้นทางของโปรแกรมที่กำลังรันอยู่?
ฉันมีxmms2dกระบวนการทำงาน แต่ไฟล์ปฏิบัติการที่เป็นไปได้สองไฟล์ (ในไดเรกทอรีที่แตกต่างกันทั้งในเส้นทางปฏิบัติการ) ที่อาจเกิดขึ้นได้ ฉันสงสัยว่าหนึ่งในนั้นเสียหายเพราะบางครั้งโปรแกรมนี้ใช้งานได้และบางครั้งก็ใช้ไม่ได้ กระบวนการทำงานในตอนนี้ทำงานดังนั้นฉันต้องการลบ (หรือเปลี่ยนชื่อ) อีกอันหนึ่ง ps ax|grep "xmms"ส่งคืน8505 ? SLl 2:38 xmms2d -vโดยไม่มีข้อมูลพา ธ รับ PID ฉันจะพบว่ามันถูกเรียกใช้จาก/usr/bin/xmms2dหรือ/usr/local/bin/xmms2dไม่? ขอบคุณ!
17 process 

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