งานที่หยุดทำงานคืองานที่หยุดทำงานชั่วคราวและไม่ทำงานอีกต่อไป แต่ยังใช้ทรัพยากรอยู่ (เช่นหน่วยความจำระบบ) เนื่องจากงานนั้นไม่ได้เชื่อมต่อกับเทอร์มินัลปัจจุบันจึงไม่สามารถสร้างเอาต์พุตและไม่ได้รับอินพุตจากผู้ใช้
คุณสามารถเห็นงานที่คุณรันโดยใช้jobs
คำสั่ง builtin ใน bash ซึ่งอาจเป็นเชลล์อื่นเช่นกัน ตัวอย่าง:
user@mysystem:~$ jobs
[1] + Stopped python
user@mysystem:~$
คุณสามารถหยุดงานที่หยุดทำงานต่อได้โดยใช้fg
คำสั่งในตัว(ส่วนหน้า) bash ถ้าคุณมีหลายคำสั่งที่ได้รับการหยุดคุณจะต้องระบุว่าหนึ่งในการดำเนินการต่อโดยผ่านหมายเลข jobspec fg
ในบรรทัดคำสั่งด้วย หากหยุดโปรแกรมเพียงหนึ่งโปรแกรมคุณสามารถใช้fg
คนเดียว:
user@mysystem:~$ fg 1
python
ณ จุดนี้คุณกลับมาที่ล่ามงูหลามและอาจออกโดยใช้ control-D
ในทางกลับกันคุณอาจkill
สั่งให้มันเป็น jobspec หรือ PID ตัวอย่างเช่น
user@mysystem:~$ ps
PID TTY TIME CMD
16174 pts/3 00:00:00 bash
17781 pts/3 00:00:00 python
18276 pts/3 00:00:00 ps
user@mysystem:~$ kill 17781
[1]+ Killed python
user@mysystem:~$
หากต้องการใช้ jobspec ให้นำหน้าหมายเลขด้วยปุ่มเปอร์เซ็นต์ (%):
user@mysystem:~$ kill %1
[1]+ Terminated python
หากคุณออกคำสั่ง exit ด้วยงานที่หยุดทำงานคำเตือนที่คุณเห็นจะได้รับ งานจะถูกทิ้งไว้เพื่อความปลอดภัย เพื่อให้แน่ใจว่าคุณรู้ว่าคุณกำลังพยายามฆ่างานที่คุณอาจลืมไปแล้วว่าหยุด ครั้งที่สองที่คุณใช้คำสั่ง exit งานจะถูกยกเลิกและเชลล์จะออก นี่อาจทำให้เกิดปัญหาสำหรับบางโปรแกรมที่ไม่ได้ตั้งใจจะฆ่าในแบบนี้
ในทุบตีดูเหมือนว่าคุณสามารถใช้logout
คำสั่งซึ่งจะฆ่ากระบวนการหยุดและออก สิ่งนี้อาจทำให้เกิดผลลัพธ์ที่ไม่พึงประสงค์
นอกจากนี้โปรดทราบว่าบางโปรแกรมอาจไม่ออกเมื่อสิ้นสุดด้วยวิธีนี้และระบบของคุณอาจจบลงด้วยกระบวนการที่ไม่ได้ใช้งานจำนวนมากโดยใช้ทรัพยากรมากขึ้นหากคุณทำเช่นนี้
โปรดทราบว่าคุณสามารถสร้างกระบวนการพื้นหลังที่จะหยุดหากพวกเขาต้องการให้ผู้ใช้ป้อน:
user@mysystem:~$ python &
[1] 19028
user@mysystem:~$ jobs
[1]+ Stopped python
คุณสามารถดำเนินการต่อและฆ่างานเหล่านี้ได้ในลักษณะเดียวกับที่คุณทำกับงานที่คุณหยุดทำงานด้วยการCtrl-z
ขัดจังหวะ