SSH connection - run program -> howto to keep prog

2020-03-31 03:07发布

In short: What is the most elegant solution to keep a perl/python/R/etc script/program running on a server (connected via ssh) when the remote server connection is closed (shell-window closed)?

In detail: I have written some scripts that will run several days on our server. However, after connecting to the server via SSH over a linux-shell, starting the program and closing the window will also kill the program - OK, thats not new. But, how must the Server be configured to keep the program running after the ssh-connection is closed? "screen" can be one solution, hmm but for me that to much typing and sometime I forgot to start a screen session and start the program

Thanks for your advice!

Cheers, Yeti

标签: linux ssh
3条回答
Rolldiameter
2楼-- · 2020-03-31 03:47

NOHUP - http://en.wikipedia.org/wiki/Nohup

ssh your_server
nohup nice perl your_script &
exit
查看更多
兄弟一词,经得起流年.
3楼-- · 2020-03-31 03:58

if you see the man page of ssh you can find an example below the "-n" option.

ssh -n <user>@<server> <cmd> &
查看更多
劳资没心,怎么记你
4楼-- · 2020-03-31 04:07

In the hope that someone else might find this question and find this information useful, there is an application called "screen" out there that can also let you achieve this.

Most distributions should have them in their repositories under the screen package name. If I wanted to make a screen, I would simply run screen -dmS screenName command and it would run the command in a different "screen", which can be accessed with screen -r screenName. You can detach from a screen at any time using CTRL+A+D.

I hope someone can benefit from this information, as it is useful when you'd like to run a process but also be able to review its output assuming it has any (which many of my applications do).

查看更多
登录 后发表回答