Làm cách nào để giữ lệnh tôi bắt đầu từ shell chạy nếu tôi đăng xuất khỏi shell?


12

Những phương thức nào tồn tại để giữ một lệnh được bắt đầu từ shell khi chạy sau khi đăng xuất khỏi shell?

Câu trả lời:


11
  • Để đặt ứng dụng vào nền, sử dụng &:

    command &
    
  • Nếu bạn muốn đóng nhà ga, và giữ cho ứng dụng đang chạy, bạn có thể sử dụng một vài lựa chọn: , và .screen Cài đặt màn hìnhdtach Cài đặt dtachnohup

    nohup command &
    
  • Màn hình rất hữu ích khi bạn có thể bắt đầu lại một phiên và dtach cũng rất vui.

  • Nhìn vào các liên kết sau để biết thêm thông tin


không thêm một &ở cuối lệnh cũng làm việc?
theTuxRacer

2
@ Kaustubh-P sử dụng & thường là một cách tốt để đóng các thiết bị đầu cuối thông qua lệnh 'exit', không nhấn nút đóng X. & Làm cho lệnh chạy trong backbackground. Nhưng nếu trình bao cha mẹ đóng lại. mà vẫn có thể buộc các chương trình nền phải thoát.
karthick87

5

Sử dụng lệnh nohup như thế này:

nohup gedit /home/user/file.txt &

Cách thậm chí loại bỏ nohup: bỏ qua đầu vào và chuyển hướng stderr sang stdout
Amruth A

5

Một lệnh (bash?) Hữu ích là disown. Điều tuyệt vời ở đây là nó hoạt động cho một công việc đã chạy (nhân tiện, bạn không thích các công việc, không phải các quy trình, vì vậy bạn cần phải làm ctrl-Z, bgtrước khi chạy mất công việc của mình. Ví dụ, hãy tưởng tượng bạn làm như sau:

local % ssh some.where.com
remote % verylongscript.sh

Bây giờ bạn nhận ra rằng bạn cần phải đi nhưng không muốn kịch bản bị giết khi thoát, vì vậy bạn

ctrl-Z
remote % bg
remote % disown
remote % exit
local %

Bây giờ, trên remote, kịch bản của bạn vẫn đang chạy.


1

tôi sử dụng

nohup mycommand &

Ví dụ: để khởi động máy chủ ảo VirtualBox, tôi nhập nội dung sau vào trình bao từ xa (mà tôi đóng sau đó):

nohup VBoxHeadless --startvm "myvm" --vrdp=off &
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.