Nohup và sự khác biệt giữa đăng xuất và thoát trên shell từ xa


5

Tôi có quyền truy cập vào một vỏ Linux từ xa cho mục đích công việc. Tôi đã giữ một kịch bản python chạy trong nền bằng cách sử dụng nohup.

Bây giờ, nếu tôi muốn thoát phiên, sự khác biệt giữa việc sử dụng là gì logoutexit mệnh lệnh? Kịch bản của tôi sẽ tiếp tục chạy trong cả hai trường hợp này chứ?


1
Tôi thấy tốt hơn để sử dụng màn khi tôi muốn đảm bảo các quy trình điều khiển sẽ hoạt động sau khi tôi đi.
Marcelo Cantos

Câu trả lời:


2

logout là một lệnh nội bộ của shell. Vì vậy, nói chung câu trả lời là phụ thuộc vào vỏ. Từ man bash:

logout - Thoát khỏi vỏ đăng nhập.

Từ man zsh:

logout [ n ] - Giống như thoát, ngoại trừ việc nó chỉ hoạt động trong vỏ đăng nhập.

Vì vậy, chúng hoàn toàn giống nhau, nhưng đăng xuất sẽ từ chối hoạt động đối với các shell không đăng nhập. Một vỏ đăng nhập là gì có thể được đọc trong các trang hướng dẫn.


exit là một lệnh nội bộ của shell, quá.
Paŭlo Ebermann

1
(Ngoài ra: Tôi không thấy điểm có lệnh giống như thoát chỉ hoạt động đối với shell đăng nhập. Cách khác sẽ hữu ích hơn (ví dụ: "chỉ thoát nếu không ở trong vỏ đăng nhập").)
Paŭlo Ebermann

0

Hãy thử cả trong thiết bị đầu cuối địa phương của bạn. Nếu bạn muốn sử dụng "đăng xuất", bạn cần phải "đăng nhập". Trong thiết bị đầu cuối của bạn theo mặc định, bạn không bao giờ bắt đầu shell với đăng nhập, vì vậy nếu bạn muốn đóng thiết bị đầu cuối, bạn cần sử dụng "exit". Nó không phải là "vỏ đăng nhập".

Trong shell ssh từ xa thì không quan tâm vì bạn đang sử dụng "shell đăng nhập". Khi bạn sử dụng nohub hoặc tương tự, bạn sẽ "tách" lệnh ra khỏi trình bao thực tế, vì vậy khi bạn đóng trình bao của mình, quy trình sẽ không chết.

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.