Làm thế nào để gửi công việc đến nền mà không dừng chúng?


10

Ctrl + z gửi công việc hiện tại đến nền, nhưng dừng nó.

Và làm thế nào để tiếp tục một công việc đã dừng lại?

Câu trả lời:


17

bạn có thể chạy "bg" để chạy nó trong nền.

"fg" di chuyển nó đến nền trước

Lưu ý rằng bg và fg nhận công việc #s thay vì PID, vì vậy nếu bạn có nhiều công việc đang chạy cùng một lúc, hãy sử dụng lệnh "công việc" để lấy số công việc.


8

bạn cũng có thể bắt đầu một chương trình như một công việc nền với "&" trên dòng lệnh.

ví dụ

chương trình của tôi &

lưu ý rằng đầu ra (cả thiết bị xuất chuẩn và thiết bị xuất chuẩn) vẫn sẽ chuyển đến tty hiện tại, do đó, nói chung nên chuyển hướng đến / dev / null hoặc vào tệp nhật ký, như vậy:

chương trình của tôi> ~ / chương trình.log 2> & 1 &

trong một ví dụ, đó là một công việc nền như bất kỳ công việc nào khác, vì vậy bạn vẫn có thể đưa nó trở lại nền trước với 'fg' (nhưng nếu bạn đã chuyển hướng đầu ra, bạn sẽ không thấy nhiều).


5

Trong bash, nhập "bg" sẽ đặt công việc vào nền cho đến khi nó chặn cần nhập. Nó sẽ tiếp tục xuất ra STDERR và STDOUT có thể không hữu ích. Bạn có thể nhập "fg" để đưa công việc trở lại nền trước.

[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 ~]$ 

Vì vậy, đó là bắt đầu một công việc sao chép dài và đình chỉ nó, bắt đầu một công việc sao chép dài thứ hai và đình chỉ nó, sau đó đặt công việc sao chép đầu tiên vào nền và để nó chạy, tiếp theo là công việc sao chép đầu tiên đó. Sau đó, tôi đặt công việc sao chép cuối cùng vào nền trước và để nó hoàn thành.


bg 1fg 1không làm việc cho tôi, nhưng bg %1fg %1làm.
Alexej Magura

4

nhiệm vụ nohup.sh &

Chạy trong nền, đầu ra đi đến nohup.out trong thư mục hiện tại. Tiếp tục chạy khi bạn đăng xuất.


2

Một tùy chọn khác là tiện ích màn hình tuyệt vời , có thể được sử dụng để chạy nhiều quy trình cùng một lúc mà không cần phải mở thiết bị đầu cuối. Nó cũng cho phép tương tác dễ dàng hơn nhiều so với bg và fg.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.