Ubuntu
nohup 程序不在 ssh 會話之間持續存在
我在 AWS EC2 上有一個 ubuntu 伺服器。我可以使用 Putty 和 ssh 從 Windows 7 筆記型電腦訪問它。我想在其中一個 ssh 會話期間啟動一個程序,並在我結束 ssh 會話後讓它繼續。我認為這可以用 nohup 完成。但是我在一個 ssh 會話上嘗試以下命令。
nohup /var/www/Executables/inotifydropboxcopy &
然後我做
ps | grep inotify
我明白了
27554 pts/0 00:00:00 inotifydropboxcopy
但是,當我打開一個新的 ssh 會話時,連接到同一台伺服器,然後鍵入
ps | grep inotify
我什麼都得不到。當我結束 ssh 會話並開始另一個會話時,我也一無所獲。
如何在伺服器上啟動一個在 ssh 會話之間繼續的程序?
編輯:
我進入螢幕
screen
進入
/var/www/Executables/inotifydropboxcopy &
然後使用 ctrl-ad 與螢幕分離
然後,在初始 ssh 會話中
ps | grep inotify
回來
27554 pts/0 00:00:00 inotifydropboxcopy
但是,當我啟動一個新的 ssh 會話並進入
ps | grep inotify
我什麼都沒有。
您應該能夠看到您的輸出
ps -ax | grep inotify
。
man ps
分別定義了a
和x
標誌。解除 BSD 風格的“僅限您自己”限制,當使用某些 BSD 風格(不帶“-”)選項或 ps 個性設置類似於 BSD 時,該限制強加於所有程序的集合。以這種方式選擇的過程集是對通過其他方式選擇的過程集的補充。另一種描述是,此選項使 ps 使用終端 (tty) 列出所有程序,或者與 x 選項一起使用時列出所有程序
解除 BSD 風格的“必須有 tty”限制,當使用某些 BSD 風格(不帶“-”)選項或 ps 個性設置類似於 BSD 時,該限制強加於所有程序的集合。以這種方式選擇的過程集是對通過其他方式選擇的過程集的補充。另一種描述是,此選項使 ps 列出您擁有的所有程序(與 ps 相同的 EUID),或者與 a 選項一起使用時列出所有程序。