在ubuntu服务器上作为服务运行脚本

在ubuntu服务器上作为服务运行脚本,ubuntu,service,remote-server,Ubuntu,Service,Remote Server,我有一个python脚本,我想在远程ubuntu服务器上运行,目前我使用SSH使用Putty登录到远程服务器并运行脚本。但这需要我的终端处于打开状态,并且需要在本地机器上有一个活动的internet连接,直到任务完成 我需要的是将脚本上传到服务器并将其作为服务运行,这样我就不需要维护活动的internet连接,也不需要在本地计算机上保持终端打开。任务完成后,我需要登录到服务器并获取结果文件 我如何做到这一点,服务器运行Ubuntu server 16.04 amd64,本地机器运行Windows

我有一个python脚本,我想在远程ubuntu服务器上运行,目前我使用SSH使用Putty登录到远程服务器并运行脚本。但这需要我的终端处于打开状态,并且需要在本地机器上有一个活动的internet连接,直到任务完成

我需要的是将脚本上传到服务器并将其作为服务运行,这样我就不需要维护活动的internet连接,也不需要在本地计算机上保持终端打开。任务完成后,我需要登录到服务器并获取结果文件


我如何做到这一点,服务器运行Ubuntu server 16.04 amd64,本地机器运行Windows 10。

快速而肮脏的方法:

[Putty to the remote host]
$ python your_script.py & disown %1
$ logout
说明:符号(
&
)在后台作为作业运行脚本,控件立即返回shell。然后,
disown%1
告诉shell不再监视或监视作业,允许您在不终止进程的情况下注销

一种更专业的方法可以使用nohup
nohup

[Putty to the remote host]
$ nohup python your_script.py > /dev/null   # if output can be ignored
$ nohup python your_script.py > output.txt  # if output must be saved
$ logout

如果你讨论的是一个不需要你进入SSH的实际服务,那么你可以选择如何解决它——你可以考虑写一个Stand控件文件,或者安装一个CRONJOP脚本。后者可能是更容易学习的第一种方法。

为iThanks创建一个cron作业,另外,我如何确保python文件在后台运行?
$jobs
(断开之前),
$ps waux | grep your_script
$ps waux--forest
$ps waux--forest | less
$htop
$top
可能是我的第一个目标<代码> HTTP是一个特别有用的改进,所以如果你没有它,你可以考虑安装它:<代码> $SUDO APT更新;sudo apt安装htop