ubuntu遠端執行的程序自動關閉的問題

2021-07-15 11:49:25 字數 1214 閱讀 6822

此文件用於蒐集專案編寫,部署,執行中遇到的問題

解決

參考傳送門

簡單來說就是,用xshell登入雲伺服器ssh的時候是建立了乙個會話,在斷開ssh連線的時候會觸發會話程序的signup訊號,從而導致了程序被kill掉。

1. 可以通過nohup python server.py &來解決(其中nohup是使得相關程序忽略signup訊號,&是讓程序在後台執行)

2. 可以通過使用視窗管理軟體screen來管理相關程序,從而避免被signup訊號kill掉

具體講解:

1. 首先在xshell登入ssh,並執行top:

在xshell開多乙個會話視窗,執行pstree

++可見新視窗和舊視窗的父程序都來自sshd++

使用剛才所說的方法進行解決

執行nohup python server.py &

在阿里雲管理端可以看到:

雖然sshd程序下已經沒有了bash子程序,但是python程序還在,可見這個方法是可行的

方法二

執行screen vim test.md然後同時按下ctrl+a+c。這時會從vim介面回到bash介面;同樣我們執行screen python,然後同時按下ctrl+a+c.

此時,在xshellpstree看到如下:

果然在screen下開了多個視窗

斷開xshell連線,在管理端可見:

嘿嘿嘿,誠不我欺,screen作為和sshd的兄弟程序出現了

在管理端開啟視窗:

screen -ls檢視到乙個例項,screen -r [示例id](此處沒有截到圖)

注意:一定要搞清楚screen中的:screen, session,window三個概念,了解了這三個概念其實就了解了如何使用screen

ubuntu後台執行程序

最近在azure上搭乙個基於web.py的web service,由於是用putty去ssh伺服器,在server上把web.py啟動以後,回到寢室由於pc睡眠,putty連線inactive,導致web service無法正常訪問。正常啟動web service python test.py 88...

Ubuntu開機自動執行指定程式

比如ubuntu的當前登入使用者是user1,現在想要在user1登入系統後自動執行test.sh,可在 home user1 profile檔案末尾追加如下命令 cd test.sh所在目錄 test.sh 注意 test.sh執行結果必須要麼是後台程序,要麼是馬上能完成的程式,否則,重啟系統並使...

Linux下自動執行ssh遠端連線

linux下自動執行ssh遠端連線 權記 日期 2009年11月09日 分類 linux伺服器相關,技術 由 於 牆 的存在,有時候一些 無法訪問,於是購買了ssh服務,來通過ssh繞 牆 每次開機都需要連線,很是麻煩,於是便找到了下面的方法。這個方法和之前的一篇文章 linux下 scp命令不需要...