Ubuntu 上如何后台运行 python 爬虫?

2016-06-10 19:31:41 +08:00
 GhostEX

用 putty 连接 Ubuntu 运行脚本,但是断开连接爬虫就退出,不能一直在后台执行。

搜了解决方法在命令前后加以下代码:

nohup python smzdm.py &

但是报错,哪里写错了么?

2873 次点击
所在节点    问与答
18 条回复
reeco
2016-06-10 19:33:03 +08:00
screen
notgod
2016-06-10 19:35:34 +08:00
你要看报什么错
smzdm.py 脚本本身的错误 还是哪里的

这么写
nohup python /path/smzdm.py > _log.txt 2>&1 &

你那么写 终端退出 pid 就阵亡了
ug888168
2016-06-10 19:38:59 +08:00
screen 应该能帮你
mornlight
2016-06-10 19:40:57 +08:00
建议上 supervisor ,你这种需求写一下文件路径就行,很简单
GhostEX
2016-06-10 19:40:59 +08:00
@notgod 按格式写,输出了 [21] 20030 ,好像没有执行的迹象。。。
GhostEX
2016-06-10 19:43:28 +08:00
@notgod 或者说怎么判断有没有执行。。。
notgod
2016-06-10 19:44:39 +08:00
jobs
或者 ps aux|grep 'smzdm.py'
notgod
2016-06-10 19:45:09 +08:00
@GhostEX

你那个输出应该是返回的 pid

查看有无进程
jobs
或者 ps aux|grep 'smzdm.py'
GhostEX
2016-06-10 19:47:21 +08:00
@notgod 哭了,运行了 21 次。。。
GhostEX
2016-06-10 19:48:47 +08:00
```python
root@iZu1imazcmtZ:/# jobs
[1] Running nohup python smzdm.py & (wd: /var/www)
[2] Running nohup python smzdm.py & (wd: /var/www)
[3] Running nohup python smzdm.py & (wd: /var/www)
[4] Running nohup python smzdm.py & (wd: /var/www)
[5] Running nohup python smzdm.py & (wd: /var/www)
[6] Running nohup python smzdm.py & (wd: /var/www)
[7] Running nohup python smzdm.py & (wd: /var/www)
[8] Running nohup python smzdm.py & (wd: /var/www)
[9] Running nohup python smzdm.py & (wd: /var/www)
[10] Running nohup python smzdm.py > out.log & (wd: /var/www)
[11] Running nohup python -u smzdm.py > out.log & (wd: /var/www)
[12] Running nohup python smzdm.py & (wd: /var/www)
[13] Running nohup python /var/www/smzdm.py > _log.txt 2>&1 & (wd: /var/www)
[14] Running nohup python /var/www/smzdm.py > _log.txt & (wd: /var/www)
[16] Running nohup python /var/www/smzdm.py > _log.txt & (wd: /var/www)
[17] Running nohup python smzdm.py > _log.txt & (wd: /var/www)
[18] Running nohup python /var/www/smzdm.py > _log.txt 2>&1 &
[19] Running nohup python /var/www/smzdm.py > _log.txt 2>&1 &
[20]- Running nohup python /var/www/smzdm.py > _log.txt 2>&1 &
[21]+ Running nohup python /var/www/smzdm.py > _log.txt 2>&1 &
root@iZu1imazcmtZ:/#
```
是该理解成是 21 个进程么?
spikeLIN
2016-06-10 20:21:23 +08:00
直接上定时也行⋯⋯
RockyLee
2016-06-10 21:20:27 +08:00
screen 时间久了也会挂掉的
ThreeBody
2016-06-10 22:12:26 +08:00
@RockyLee screen 会挂么?我好像没遇到过,不过以前遇到过 screen 被挂起的问题,进不去,不过用-D 参数就可以进去了,不知道你说的是不是这个情况
sen506
2016-06-10 23:00:45 +08:00
tmux ?或者不要后台一直运行,改成定时的?
prondtoo
2016-06-10 23:02:09 +08:00
supervisor
RockyLee
2016-06-10 23:57:26 +08:00
@ThreeBody 额,很久的事了,记不得了
sciooga
2016-06-11 02:06:38 +08:00
daemon ?
exuxu
2016-06-11 10:27:39 +08:00
tmux +2

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/284812

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX