จะส่งงานไปที่พื้นหลังโดยไม่หยุดได้อย่างไร


10

Ctrl + z ส่งงานปัจจุบันไปที่พื้นหลัง แต่หยุดทำงาน

และวิธีการทำงานต่อหยุด?

คำตอบ:


17

คุณสามารถเรียกใช้ "bg" เพื่อเรียกใช้ในพื้นหลัง

"fg" ย้ายไปที่พื้นหน้า

โปรดทราบว่า bg และ fg รับงาน # แทน PID ดังนั้นหากคุณมีงานหลายงานพร้อมกันให้ใช้คำสั่ง "งาน" เพื่อรับหมายเลขงาน


8

คุณสามารถเริ่มโปรแกรมเป็นงานพื้นหลังด้วย "&" ในบรรทัดคำสั่ง

เช่น

โปรแกรม &

โปรดทราบว่าเอาต์พุต (ทั้ง stdout และ stderr) จะยังคงไปที่ tty ปัจจุบันดังนั้นจึงเป็นความคิดที่ดีที่จะเปลี่ยนเส้นทางไปยัง / dev / null หรือไปยังไฟล์บันทึกเช่น:

myprogram> ~ / program.log 2> & 1 &

ในตัวอย่างใด ๆ มันเป็นงานพื้นหลังเหมือนกันดังนั้นคุณยังสามารถนำมันกลับมาที่เบื้องหน้าด้วย 'fg' (แต่ถ้าคุณเปลี่ยนเส้นทางผลลัพธ์คุณจะไม่เห็นอะไรมาก)


5

ใน bash การป้อน "bg" จะทำให้งานเข้าสู่พื้นหลังจนกว่าจะบล็อกต้องการอินพุต มันจะยังคงส่งออกไปยัง STDERR และ STDOUT ซึ่งอาจไม่ช่วยเหลือ คุณสามารถป้อน "fg" เพื่อนำงานกลับสู่เบื้องหน้า

[adjuster@mx02 ~]$ cp ~/crap/* ~/crap2 
(Ctrl-Z)
[1]+  Stopped                cp ~/crap ~/crap2 

[adjuster@mx02 ~]$ cp ~/crap3/* ~/crap4
(Ctrl-Z)
[2]+  Stopped                cp ~/crap3/* ~/crap

[adjuster@mx02 ~]$ jobs
[1]+  Stopped                cp ~/crap ~/crap2 
[2]+  Stopped                cp ~/crap3/* ~/crap

[adjuster@mx02 ~]$ bg 1
[1]- cp ~/crap ~/crap2 &
[1]-  Exit 1                  cp ~/crap ~/crap2 

[adjuster@mx02 ~]$ fg 2
[adjuster@mx02 ~]$ 

ดังนั้นนั่นคือการเริ่มต้นงานสำเนาที่ยาวนานและหยุดชั่วคราวเริ่มงานสำเนายาวสองครั้งและหยุดทำงานชั่วคราวจากนั้นวางงานคัดลอกแรกลงในพื้นหลังและปล่อยให้ทำงานตามด้วยงานคัดลอกแรกที่ออก จากนั้นฉันก็นำงานถ่ายสำเนาสุดท้ายไปไว้ด้านหน้าและปล่อยให้มันเสร็จ


bg 1และfg 1ไม่ทำงานสำหรับฉัน แต่bg %1และfg %1ทำ
Alexej Magura

4

nohup task.sh &

ทำงานในพื้นหลังเอาต์พุตไปที่ nohup.out ในไดเรกทอรีปัจจุบัน ยังคงทำงานต่อเมื่อคุณออกจากระบบ


2

ตัวเลือกอื่นคือยูทิลิตี้หน้าจอที่ยอดเยี่ยมซึ่งสามารถใช้เพื่อเรียกใช้กระบวนการหลายอย่างในเวลาเดียวกันโดยไม่ต้องเปิดเครื่องเทอร์มินัล นอกจากนี้ยังช่วยให้สามารถโต้ตอบได้ง่ายกว่า bg และ fg

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