Tắt PC mà không tắt phiên SSH


14

Tôi có một số quy trình dài, nặng chạy trên các máy Linux từ xa. Tôi sử dụng máy tính xách tay của mình để SSH vào các máy này và chạy các quy trình từ đi văng của tôi.

NHƯNG, khi tôi muốn tắt máy tính xách tay của mình, tôi gặp rắc rối vì các quy trình từ xa bị giết.

Tôi đã thực hiện nghiên cứu của mình và phát hiện ra rằng "màn hình" là một giải pháp tuyệt vời cho tôi, đó là! (Miễn là tôi không SHUTDOWN máy tính xách tay của mình). Không có cách nào để "duy trì" các phiên "màn hình" để tôi có thể tắt nó và sau đó gắn lại vào một phiên?


Bạn đang chạy màn hình trên các hệ thống Linux từ xa?
Sam Miller

Có thể để nền các quá trình?
ennuikiller

Câu trả lời:


32

Có vẻ như bạn đang chạy phiên màn hình trên máy tính xách tay của bạn. Sau đó sshing từ phiên màn hình đó đến (các) máy chủ từ xa. Tắt máy tính xách tay sẽ giết quá trình màn hình cục bộ, từ đó giết chết phiên ssh.

Những gì bạn muốn làm là ssh từ máy tính xách tay của bạn đến (các) máy chủ từ xa. Sau đó bắt đầu một phiên màn hình trên máy chủ từ xa. Khi máy tính xách tay của bạn bị tắt, phiên ssh sẽ chết, nhưng phiên màn hình từ xa sẽ tiếp tục.

Lần tới khi bạn đăng nhập vào hệ thống từ xa, bạn có thể gắn lại vào phiên màn hình bằng "screen -r" hoặc nếu bạn có nhiều phiên màn hình "screen -r <pid>".

Lưu ý: nếu bạn quên tách ra khỏi phiên màn hình từ xa trước khi ssh bị giết, phiên màn hình có thể nghĩ rằng nó vẫn được đính kèm. Trong trường hợp này, bạn sẽ cần thực hiện "màn hình -dr <pid>" để tách phiên trước.


4
Bằng cách này, nếu tôi nhớ không lầm, bức xúc Ctrl+Atiếp theo Dkhi bạn đang ở screensẽ tách phiên màn hình.
David Z

@David điều này là chính xác, bạn cũng có thể chỉ cần đóng thiết bị đầu cuối hoặc phiên ssh của bạn và màn hình sẽ vẫn mở. "màn hình -raAd" sẽ gắn lại.
Chris

Làm cách nào để bắt đầu phiên màn hình trên máy chủ từ xa?
sự ngu ngốc

15

Bạn có thể sử dụng nohupđể bắt đầu một quy trình sẽ tiếp tục chạy sau khi bạn đã đăng xuất khỏi máy. Đó có thể là những gì bạn đang tìm kiếm.


Đối với một quy trình đã chạy, bạn có thể làm ^ Z và sau đó disownđể tạo ra những gì tôi tin là một hiệu ứng tương đương. disownlà một bashism có thể có hoặc không có sẵn trên các vỏ khác.
trực giác

+1 cho nohup. Vấn đề với ^Znó là nó tạm dừng quá trình. Không có cách nào để làm nền cho một quá trình nhưng giữ cho nó chạy mà không có trục trặc.
gièm pha

6

Nếu bạn hủy phiên từ xa screen, bạn có thể tắt máy tính xách tay của mình một cách an toàn.


Không chắc chắn nếu phổ biến rằng phiên màn hình được tách ra phải ở trên máy chủ từ xa.
trực giác


2

Sử dụng nohup. Một lựa chọn khác để sử dụng VNC. Tạo phiên VNC trên máy chủ. Sau đó kết nối với nó bất cứ khi nào bạn làm việc. (Hữu ích hơn khi quá trình dài đang sử dụng một số GUI - ví dụ IDE)


0

Nếu các máy chủ này có ILO / DRAC / KVM từ xa khác, v.v. bạn có thể kết nối với bàn điều khiển và tương tác ở đó. Vì các phiên bắt đầu về cơ bản là cục bộ, việc ngắt kết nối từ máy tính xách tay của bạn sẽ không làm được gì.

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.