我的 python 脚本称为scrape.py
. 顾名思义,它是一个网络爬虫,我希望它在我的 Linux 机器上持续运行,即使在我注销并结束 ssh 会话后也是如此。我在这里读了很多,有很多关于使用nohup python scrape.py &
. 这工作得很好,但是一旦我注销,脚本执行就停止了。我也探索了该supervisor
应用程序,但我没有 root 权限,所以它也失败了。你能建议我解决这个问题的方法吗?谢谢你。
有几种方法(工具和命令)可用于类似目的:
使用终端模拟器作为tmux
和screen
:
使用在后台执行的分离命令(另请阅读):
nohup
- 运行一个不受挂断影响的命令,输出到非 tty;运行 COMMAND,忽略挂断信号。将命令推送到后台并将其与当前 shell 会话分离的常用语法:nohup COMMAND &
或者nohup COMMAND >/dev/null 2>&1 &
如果您想挂起由nohup
. 此处和此处提供了其基本用法的示例。同样在这里被展示了如何通过SSH命令使用它。
disown
- 类似于nohup
但它是内置的 shell (zsh, ksh, bash);用于从作业表中删除作业,或标记作业,以便在父 shell 接收到 SIGHUP 信号时不会向它们发送 SIGHUP 信号(例如,如果用户注销)。此处提供了使用示例。
使用huponexit
Bash 选项:
$ ./script.py > output.txt &
[1] 7461
$ shopt -s huponexit
$ exit
Run Code Online (Sandbox Code Playgroud)
参考:
使用日程管理器作为at
和crontab
:
创建系统服务并启动,见:
归档时间: |
|
查看次数: |
17034 次 |
最近记录: |