Giữ một chương trình chạy sau khi đóng bàn điều khiển, sau khi chương trình đã bắt đầu [trùng lặp]


8

Có thể trùng lặp:
Làm cách nào để tách toàn bộ quá trình khỏi Terminal?

Tôi có một chương trình đang chạy trong bảng điều khiển Unix trên máy tính Unix từ xa. Tôi (ngu ngốc) đã không chạy nó bằng cách sử dụng nohup &, và bây giờ tôi cần phải đóng bàn điều khiển cục bộ.

Có cách nào để nó tiếp tục chạy từ xa sau khi đóng bàn điều khiển cục bộ không?

Câu trả lời:


12

Nếu vỏ của bạn là bash, họ có thể sử dụng disown. Ctrl-Z để tạm dừng quá trình, sau đó disown -hđể làm cho nó không nhận được SIGHUP.


Giải pháp rực rỡ. Nó hoạt động :-)
Thrawn

3
Chỉ tò mò: vì quá trình bị đình chỉ, cuối cùng không nên làm theo bghoặc một cái gì đó tương tự? Hay là disown -htiếp tục nó là tốt?
Arjan

Điều này sẽ làm việc nếu quá trình đang chạy bên trong screen? xtermThay vào đó, tôi muốn tiếp tục chạy quy trình .
lên tiếng

IIRC đã từng từ chối, nó sẽ không được kết nối với bất kỳ thiết bị đầu cuối nào
Douglas Leeder

5

Trên Solaris 9, bạn có thể sử dụng nohup -p <pid>để hủy quá trình đang chạy. Đây là một lời giải thích thú vị về việc thực hiện. Tôi không biết nếu điều này đã được thực hiện trên bất kỳ Unice nào khác.


nohup: tùy chọn không hợp lệ - p Không hoạt động trên gentoo, ubfox hoặc fedora (các bản unix tôi đã thử trên này), nhưng cảm ơn tuy nhiên :-) Thật tốt khi biết Solaris có nó.
Thrawn

2

Ctrl-Z để tạm dừng quá trình, sau đó bgđể làm cho chương trình đi vào nền và tiếp tục chạy cho đến khi hoàn thành.


Vấn đề là nếu tôi đóng bàn điều khiển, các quá trình nền sẽ dừng lại. Tôi cần một cái gì đó ngăn chặn quá trình từ bảng điều khiển, giống như nohup, nhưng sau khi quá trình đã bắt đầu :-)
Thrawn

Và tôi không nghĩ 'nohup bg &' cũng sẽ hoạt động :-(
Thrawn 26/03

1
Tôi đã thử nó trên một trong các hệ thống của mình và nó vẫn chạy tốt khi tôi đăng xuất (chỉ được sử dụng du / >> tempnhư chương trình thử nghiệm) nhưng tôi hiểu là do dự nếu bạn không muốn mất chương trình hoặc kết quả của nó.
Ma trận nốt ruồi

2

Nếu bạn có thể dừng chương trình và khởi động lại chương trình trước khi đăng xuất, sau đó dừng chương trình và khởi động lại qua màn hình , đây là điều bắt buộc đối với bất kỳ ai sử dụng kết nối từ xa để hủy kết nối máy chủ.


1
Tôi nghĩ vấn đề chính ở đây là chính xác là anh ấy muốn không dừng chương trình.
Gnoupi

1
Vâng, tôi muốn chương trình không bị dừng lại :-)
Thrawn

Tôi rất muốn đề xuất màn hình cho việc sử dụng trong tình huống như vậy trong tương lai (Tôi hầu như luôn có một phiên màn hình chạy trên bất kỳ hệ thống nào tôi có sehll o).
Ma trận nốt ruồi

1
Vài năm sau, tôi nhận ra mình là một kẻ ngốc khi không sử dụng màn hình :-)
Thrawn
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.