本文目錄一覽:
- 1、黑群暉開啟SSH後使用Putty連接,使用admin賬戶登陸無法獲取root權限,如何解決?
- 2、如何實現SSH斷開後 進程仍然在後台運行
- 3、如何在linux服務器後台運行某個進程?在Xshell里需要輸入什麼指令?
- 4、[轉載][整理]解決SSH退出登陸後保持進程繼續在後台運行
黑群暉開啟SSH後使用Putty連接,使用admin賬戶登陸無法獲取root權限,如何解決?
此時群暉DSM6正在後台運行腳本執行php程序進行下載,如下圖所示
群暉系統默認已經禁止了root賬號的了,所以沒辦法直接用root賬號來ssh登錄!
登錄DSM系統—控制面板—終端機—開啟ssh服務,通過putty登錄,登錄用戶名是admin
admin賬號登錄後
從admin賬號切換成root賬號,輸入下面命令
sudo su –
修改root賬號密碼為123456
輸入下面命令
synouser –setpw root 123456
這樣root賬號就開啟了,密碼就是上面修改的123456
默認的群暉DSM系統安裝screen較為麻煩,但是有替代命令可以使用,那就是讓程序後台運行的命令nuhup
用法
nohup 命令
如何實現SSH斷開後 進程仍然在後台運行
解決方法:
1.nohup命令
功能:不掛斷地運行命令,忽略HUP信號。
語法:nohup command
實例:
[root@DigMouse ~]# nohup ping 51osos.com /dev/null
[1] 13683
[root@DigMouse ~]# nohup: ignoring input and redirecting stderr to stdout
[root@DigMouse ~]# ls
Desktop Downloads nohup.out
Documents Music Public Videos
[root@DigMouse ~]# cat nohup.out
PING cd447.gotoip.net (122.225.57.246) 56(84) bytes of data.
64 bytes from 122.225.57.246: icmp_seq=1 ttl=56 time=48.6 ms
64 bytes from 122.225.57.246: icmp_seq=2 ttl=56 time=47.8 ms
64 bytes from 122.225.57.246: icmp_seq=3 ttl=56 time=49.9 ms
64 bytes from 122.225.57.246: icmp_seq=4 ttl=56 time=49.5 ms
複製代碼
[root@DigMouse ~]# ps -ef | grep ping
root 13683 13655 0 09:33 pts/0 00:00:00 ping 51osos.com
root 13687 13655 0 09:36 pts/0 00:00:00 grep ping
[root@DigMouse ~]#
複製代碼
關閉此終端,打開另一個終端使用ps命令,仍然可以查看到ping進程。 無論是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當前目錄的 nohup.out 文件中。如果當前目錄的 nohup.out 文件不可寫,輸出重定向到 $HOME/nohup.out 文件中。
#nohup command command.out 21
上面的例子中nohup command輸出的內容輸出到了command.out文件中,錯誤內容輸出到了標準輸出。
如何在linux服務器後台運行某個進程?在Xshell里需要輸入什麼指令?
運行命令後面加 是後台運行,但啟動它的父進程如果退出,這個 方式運行的依然會退出。
我的建議是用 screen 。這樣會啟動一個 shell “屏幕”可以隨時斷開後再另外一個地方重新恢復。
另外還一個方法是用 fg bg nohup 這一套命令也可以。不過具體怎麼用我沒研究,但控制不如 screen 方便。
其實你這個最好的辦法還是寫到服務器的開機運行命令行裡面,方便很多啊。
另外……佔用 ssh 有什麼大問題么……
[轉載][整理]解決SSH退出登陸後保持進程繼續在後台運行
zjking的幾個思考寫的很好啊忍不住想記下來,侵刪
遠程ssh用tar打包一個文件夾或者unrar解壓一個大文件,即使加了,退出ssh登錄時解壓進程中斷。
ps:直接exit的話會提示 zsh: you have running jobs. ,強行退出會有 zsh: warning: 1 jobs SIGHUPed 提示。
直接轉一段wiki
If the process receiving SIGHUP is a Unix shell, then as part of job control it will often intercept the signal and ensure that all stopped processes are continued before sending the signal to child processes (more precisely, process groups, represented internally by the shell as a “job”), which by default terminates them.
This can be circumvented in two ways. Firstly, the Single UNIX Specification describes a shell utility called nohup , which can be used as a wrapper to start a program and make it ignore SIGHUP by default . Secondly, child process groups can be ” disowned ” by invoking disown with the job id, which removes the process group from the shell’s job table (so they will not be sent SIGHUP) , or (optionally) keeps them in the job table but prevents them from receiving SIGHUP on shell termination.
目前有以下幾種解決方案:
用途:不掛斷地運行命令。
語法:nohup Command [ Arg … ] [ ]
描述:nohup 命令運行由 Command 參數和任何相關的 Arg 參數指定的命令,忽略所有掛斷(SIGHUP)信號。在註銷後使用 nohup 命令運行後台中的程序。要運行後台中的 nohup 命令,添加 ( 表示“and”的符號)到命令的尾部。
無論是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當前目錄的 nohup.out 文件中。如果當前目錄的 nohup.out 文件不可寫,輸出重定向到 $HOME/nohup.out 文件中。如果沒有文件能創建或打開以用於追加,那麼 Command 參數指定的命令不可調用。如果標準錯誤是一個終端,那麼把指定的命令寫給標準錯誤的所有輸出作為標準輸出重定向到相同的文件描述符。
退出狀態:該命令返回下列出口值:
否則,nohup 命令的退出狀態是 Command 參數指定命令的退出狀態。
nohup命令:如果你正在運行一個進程,而且你覺得在退出帳戶時該進程還不會結束,那麼可以使用nohup命令。該命令可以在你退出帳戶/關閉終端之後繼續運行相應的進程。nohup就是不掛起的意思( no hang up)。
該命令的一般形式為: nohup command
如果使用nohup命令提交作業,那麼在缺省情況下該作業的所有輸出都被重定向到一個名為nohup.out的文件中,除非另外指定了輸出文件:(也就是說自定義輸出的文件名)
nohup command myout.file 21
在上面的例子中,輸出被重定向到myout.file文件中。
結合重定向知識:
為了不讓一些執行信息輸出到前台(控制台),我們還會加上剛才提到的/dev/null 21命令來丟棄所有的輸出:
原創文章,作者:ZTEL,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/139390.html