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

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

2
การถ่ายโอนข้อมูลหลักกระบวนการโดยไม่ฆ่ากระบวนการ
มีวิธีรับ core dump (หรือคล้ายกัน) สำหรับกระบวนการโดยไม่ฆ่ากระบวนการจริงหรือไม่ ฉันมีกระบวนการหลามแบบมัลติเธรดที่ทำงานบนระบบฝังตัว และฉันต้องการที่จะได้ภาพรวมของกระบวนการภายใต้สภาวะปกติ (เช่นกับกระบวนการอื่น ๆ ที่จำเป็นต้องใช้) แต่ฉันไม่มีหน่วยความจำเพียงพอที่จะเชื่อมต่อ gdb (หรือเรียกใช้ภายใต้ gdb) โดยไม่ต้องใช้กระบวนการหลาม เป็นคนเดียวที่ทำงาน ฉันหวังว่าคำถามนี้สมเหตุสมผล

3
เครื่องมือสำหรับแสดงไฟล์ใดบ้างที่โปรแกรมเข้าถึง?
ฉันจะไม่ใช้เครื่องมือที่ซับซ้อนเช่นโหมดบ่น AppArmor ฉันต้องการเครื่องมือง่าย ๆ ที่จะบอกฉันว่าไฟล์ใดบ้างที่เข้าถึงได้โดยโปรแกรมเฉพาะ

3
สิทธิ์ลินุกซ์ทำงานอย่างไรเมื่อกระบวนการทำงานเป็นกลุ่มเฉพาะ
นี่คือสิ่งที่ฉันไม่สามารถหาข้อมูลได้มากนักเพื่อช่วยในการชื่นชม ความเข้าใจของฉันจึง ใช้ไฟล์ต่อไปนี้: -rw-r----- 1 root adm 69524 May 21 17:31 debug.1 ผู้ใช้philไม่สามารถเข้าถึงไฟล์นี้: phil@server:/var/log$ head -n 1 debug.1 cat: debug.1: Permission denied หากphilถูกเพิ่มลงในadmกลุ่มสามารถ: root@server:~# adduser phil adm Adding user `phil' to group `adm' ... Adding user phil to group adm Done. phil@server:/var/log$ head -n 1 debug.1 May 21 11:23:15 server …

4
เรียกใช้กระบวนการ linux ที่มีความสำคัญต่ำมากใช่ไหม
ฉันมีกระบวนการปกติที่ไม่สำคัญ แต่จะใช้พลังงาน CPU มากและฉันมีกระบวนการอื่นที่สำคัญจริง ๆ แต่ใช้เวลาส่วนใหญ่ว่างเปล่า แต่เมื่อได้งานก็ต้องใช้พลังงานในการคำนวณสูง ฉันพยายามเรียกใช้ด้วยnice -20 ./low_priority_processและnice --20 ./high_priority_processยังคงมีลำดับความสำคัญต่ำกว่าใช้ CPU จำนวนมากเมื่อมีความต้องการกระบวนการที่มีลำดับความสำคัญสูงฉันจะเรียกใช้กระบวนการที่จะให้ผลจริงๆหรือแม้กระทั่งหยุดทำงานอัตโนมัติเมื่อกระบวนการอื่นใช้พลังงาน CPU
12 process  cpu  htop  priority  nice 

2
ฉันจะอนุญาตให้ผู้ใช้จัดลำดับความสำคัญของกระบวนการเพื่อลบความดีได้อย่างไร
ฉันต้องการให้ผู้ใช้เรียกใช้กระบวนการเฉพาะบนระบบที่มีค่าลบที่ดี ฉันไม่สามารถแยกกระบวนการเป็นพื้นหลังได้เนื่องจากโปรแกรมเฉพาะนี้เป็นเซิร์ฟเวอร์ minecraft และฉันใช้บรรทัดคำสั่งเพื่อควบคุมเซิร์ฟเวอร์ สคริปต์ทุบตีปัจจุบันของฉันมีลักษณะเช่นนี้ (ส่วนสำคัญ): sleep 10 && \ sudo renice -n $NICENESS $(ps -u $(id -u) -o "%p:%c" | sed -n "s/:java$//p") & \ java -Xmx8G -Xms2G -jar minecraft_server.jar nogui sleepreniceเพียงแค่ความล่าช้าในการดำเนินการของ reniceตัวเองใช้psในการตรวจสอบกระบวนการจาวาโดยใช้ ID ของผู้ใช้ อาจจะมีกรณีอื่น ๆ ของ Java พล่านภายใต้ผู้ใช้งานที่แตกต่างกัน แต่เซิร์ฟเวอร์ Minecraft ทำงานภายใต้ผู้ใช้ของตนเองMinecraft เห็นได้ชัดว่าฉันไม่ต้องการป้อนรหัสผ่านทุกครั้งที่ฉันเริ่มต้นเซิร์ฟเวอร์ จาก/ etc / sudoers : …

4
แสดงกระบวนการที่กำลังรันด้วยชื่อไฟล์หรือไม่?
ฉันใช้ putty เพื่อเชื่อมต่อเซิร์ฟเวอร์ linux ของฉันซึ่งเป็นเว็บไซต์ของฉันฉันสามารถเรียกใช้ # ps aux | less เพื่อแสดงกระบวนการทำงาน แต่ฉันต้องการแสดงไฟล์ที่เรียกใช้กระบวนการเหล่านี้ ฉันได้ลองแล้ว # ps aux | grep <pid> แต่รับข้อผิดพลาดนี้: -bash: syntax error near unexpected token `newline' วิธีที่ถูกต้องในการทำคืออะไร?

4
ใช้คำสั่ง nohup หลายคำในพื้นหลัง
มีสองคำสั่ง cmd1 และ cmd2 ในทั้งสอง cmd2 ใช้เวลานานกว่าจะเสร็จสิ้น จำเป็นต้องเรียกใช้ cmd2 และ cmd1 พยายามเรียกใช้งานด้วยวิธีต่อไปนี้: bash$ (nohup ./cmd2>result2 &) && nohup ./cmd1>result1 & หรือ bash$ (nohup ./cmd2>result2 &) ; nohup ./cmd1>result1 & แต่ทั้งสองครั้งที่ฉันเห็น cmd1 ไม่รอให้ cmd2 เสร็จสิ้นและ result1 ก็จะเต็ม วิธีที่จะทำให้ cmd1 ทำงานหลังจาก cmd2 เมื่อทั้งสองควรเป็นกระบวนการ nohup และทำงานในพื้นหลัง?

3
กลไก set-user-ID ทำงานอย่างไรใน Unix
ใครช่วยอธิบายกลไก set-user-ID ใน Unix ได้ไหม? เหตุผลเบื้องหลังการตัดสินใจออกแบบนี้คืออะไร มันแตกต่างจากกลไก ID ผู้ใช้ที่มีประสิทธิภาพอย่างไร

6
เริ่มงานเงียบ ๆ ในเบื้องหลัง
ฉันรู้ว่าคุณสามารถใช้สิ่งนี้เพื่อเริ่มต้นกระบวนการในพื้นหลังโดยไม่ได้รับการแจ้งเตือนเมื่อกระบวนการถูกวางไว้ในพื้นหลังและเมื่อมันทำเช่นนั้น: (คำสั่ง &) &> / dev / null อย่างไรก็ตามสิ่งนี้จะลบตัวเลือกเพื่อดักจับเมื่อกระบวนการเสร็จสิ้น ( trap child_done CHLD) ฉันจะมีทั้งคู่ได้อย่างไร
12 process  zsh  trap 

5
ปล่อยสิทธิพิเศษของกระบวนการ
ฉันมีกระบวนการที่เริ่มต้นโดย damon ที่เรียกใช้ในฐานะ root ตอนนี้ฉันต้องการ "ลดระดับ" สิทธิ์ของกระบวนการนี้ให้กับผู้ใช้ทั่วไปของคุณ เป็นไปได้ไหม ถ้าใช่เป็นอย่างไร PS: การเรียกใช้ unix บนเครื่อง mac

5
ทำความเข้าใจกับค่าเฉลี่ยภาระสูงสุดและภาระ
ฉันกำลังสังเกตการโหลดเฉลี่ยสูงในเครื่องบางอย่าง (ประมาณ 9) ในทั้งสามเขตโหลด ฉันเข้าใจโหลดเป็นจำนวนกระบวนการในสถานะ "รัน" / เวลาที่ต้องการ CPU ฉันถูกต้องด้วยเหตุผลที่ว่าถ้ากระบวนการ N กำลังทำงานบนเครื่องของฉันสิ่งนี้ไม่สามารถสร้างภาระมากกว่า N หรือไม่? นอกจากนี้จำนวนการโหลดที่เกี่ยวข้องกับกระบวนการหรือเธรด กล่าวอีกนัยหนึ่งกระบวนการมัลติเธรดสามารถสร้างโหลดมากกว่า 1 ได้หรือไม่?
12 process  cpu  top  load 

1
'อะไร' ตัวแทนภายใต้ TTY
หากคุณใช้งานpsในเครื่องเทอร์มินัลคุณอาจเห็นสิ่งต่อไปนี้: คือ?อะไร ฉันSSH 'ไอเอ็นจีลงในเซิร์ฟเวอร์ Linux ดังนั้นฉันคิดว่ามันเป็นเพียงsshdตามที่กล่าวภายใต้CMDแต่ฉันอยากรู้ว่าสิ่งที่?จะพิจารณามีpts/1เพื่อเป็นตัวแทนเช่นสถานีของฉัน
12 ssh  process  tty  ps 

2
สคริปต์ Bash ควรฆ่าอินสแตนซ์เหล่านั้นของสคริปต์อื่นที่เปิดตัว
ในสถานการณ์ปัจจุบันบางสคริปต์ 'calling.sh' เปิดตัวอีกสคริปต์ 'called.sh' ในพื้นหลังดำเนินการดำเนินการอื่น ๆ นอนในขณะที่แล้วสิ้นสุด 'called.sh' pkill called.shด้วย มันใช้งานได้ดี จากนั้นฉันก็อยากจะเปิดตัว 'เรียกว่า. sh' จากเทอร์มินัลอื่นเป็นสคริปต์แบบสแตนด์อโลนในเวลาอื่น ๆ ไม่ว่าจะก่อนหรือหลังการเปิดตัว calls.sh อินสแตนซ์อิสระเหล่านี้ไม่ควรถูกฆ่าโดย 'calling.sh' ฉันจะบรรลุสิ่งนี้ได้อย่างไร สัญชาตญาณบอกว่าสคริปต์การโทรควรจะสามารถบอกกระบวนการที่เริ่มต้นจากชื่ออื่น ๆ ที่กำลังทำงานอยู่ในขณะเดียวกัน ในฐานะที่เป็นตัวแปร 'calling.sh' อาจเปิดตัว 'เรียกว่า' ซึ่งเป็นลิงก์สัญลักษณ์ไปยัง 'เรียกว่า' sh ' สิ่งนี้ซับซ้อนกว่าการจัดการสถานการณ์ข้างต้นหรือไม่? ข้อควรระวังและการปรับเฉพาะใดที่ใช้ลิงค์สัญลักษณ์จำเป็นต้องใช้?
11 bash  process 

3
อาร์กิวเมนต์บรรทัดคำสั่ง ssh รีโมตรับการวิเคราะห์คำได้อย่างไร
ฉันเห็นคำถามและคำตอบเกี่ยวกับการต้องหลีกเลี่ยงการขัดแย้งกับคำสั่ง ssh จากระยะไกล คำถามของฉันคือ: การแยกวิเคราะห์ครั้งที่สองเสร็จสมบูรณ์เมื่อใดและเมื่อไร ถ้าฉันเรียกใช้ต่อไปนี้: $ ssh otherhost pstree -a -p ฉันเห็นสิ่งต่อไปนี้ในผลลัพธ์: |-sshd,3736 | `-sshd,1102 | `-sshd,1109 | `-pstree,1112 -a -p กระบวนการหลักสำหรับคำสั่งระยะไกล ( pstree) คือsshdไม่ปรากฏว่ามีเปลือกใด ๆ ที่จะแยกวิเคราะห์บรรทัดคำสั่งไปยังคำสั่งระยะไกลดังนั้นมันดูเหมือนว่าจะไม่จำเป็นต้องมีการอ้างถึงหรือหนีสองครั้ง ( แต่มันก็แน่นอน) ถ้าฉันกลับไปที่นั่นก่อนและรับเชลล์ล็อกอินจากนั้นเรียกใช้pstree -a -pฉันจะเห็นสิ่งต่อไปนี้ในผลลัพธ์: ├─sshd,3736 │ └─sshd,3733 │ └─sshd,3735 │ └─bash,3737 │ └─pstree,4130 -a -p เห็นได้ชัดว่ามีbashเชลล์ที่จะทำการแยกบรรทัดคำสั่งในกรณีนั้น แต่ในกรณีที่ฉันใช้คำสั่งระยะไกลโดยตรงดูเหมือนจะไม่เป็นเปลือกดังนั้นทำไมจึงจำเป็นต้องมีการอ้างอิงสองครั้ง
11 bash  shell  ssh  process  quoting 


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