it-swarm-vi.tech

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

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?

10
Jader Dias

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.

17
Matt Simmons

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).

8
cas

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.

[[email protected] ~]$ cp ~/crap/* ~/crap2 
(Ctrl-Z)
[1]+  Stopped                cp ~/crap ~/crap2 

[[email protected] ~]$ cp ~/crap3/* ~/crap4
(Ctrl-Z)
[2]+  Stopped                cp ~/crap3/* ~/crap

[[email protected] ~]$ jobs
[1]+  Stopped                cp ~/crap ~/crap2 
[2]+  Stopped                cp ~/crap3/* ~/crap

[[email protected] ~]$ bg 1
[1]- cp ~/crap ~/crap2 &
[1]-  Exit 1                  cp ~/crap ~/crap2 

[[email protected] ~]$ fg 2
[[email protected] ~]$ 

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.

5
Evan Anderson

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.

4
Craig

Một tùy chọn khác là tiện ích tuyệt vời màn hình , 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.

2
Hay