后台执行脚本

需求分析
我们经常会遇到一个问题,当使用SSH远程登录Linux服务器运行一些耗时较长的任务,当用户注销或者网络断开时,终端会收到HUP(hangup)信号从而关闭其所有子进程。

解决办法
Linux中,可以使用nohup将脚本放置在后台运行,其命令如下:

nohup python spider.py params1 > nohup.out 2>&1 & # spider.py:脚本名 params1参数

但在执行上述代码无法查看程序运行过程中python在控制台的输出结果,解决办法:使用-u参数。

nohup python -u spider.py params1 > nohup.out 2>&1 &

此时在工作目录中会产生一个nohup.out文件,使用tail -f: 根据文件描述符进行追踪,当文件改名或被删除,追踪停止。

tail -f nohup.out

原文地址:https://www.cnblogs.com/RyanJin/p/12594621.html

时间: 2024-10-19 02:57:06

后台执行脚本的相关文章

如何后台执行脚本程序?

文章来自:http://www.cnblogs.com/hark0623/p/4196381.html    转载请注明 需要在你的脚本前面添加nohub,后边添加&.例如下面的脚本: nohup ./flume_client.sh & nohup的作用:当你的SecureCRT会话关闭后,保证你的脚本还在Linux后台执行 &的作业:在你的会话中后台执行脚本. 如果不添加&的话,那么你关闭SecureCRT(这时也就是关闭了会话)后,你的脚本一定也会断掉的

linux-ssh远程后台执行脚本-放置后台执行问题(转)

写了一个监控负载的小脚本(死循环,测试结束后再kill对应进程),因需要监控多台服务器,所以在一台服务器上使用ssh统一执行脚本 遇到问题:使用ssh [email protected] '/usr/local/luly/loadavg.sh 2 2 &'执行本机没有即时退出,占用ssh连接本意是发送命令到远程机执行,本机发送后直接退出 尝试:1.增加nohup,效果相同:ssh [email protected] 'nohup /usr/local/luly/loadavg.sh 2 2 &am

ssh 连上主机,并用nohup后台执行脚本

以下本脚本实现了:先从本地复制脚本到远程主机,再用ssh连上远程主机,执行之前复制的脚本(由于脚本需要执行很长时间,故放到后台执行),此脚本仅用于备忘,如有不足敬请指点! #!/bin/bash cd /tmp i=1 #ip.txt保存主机列表,第三列为IP,第二列为主机名,第一列为主机所在地址 cat ip.txt|while read line do IP=`echo $line|awk '{print $3}'` addr=`echo $line|awk '{print $1}'` ec

后台执行脚本管理

防止脚本执行中断的方法: a.sh while.sh & b.screen 总结此命令 c.nohup /server/script/02/while.sh & crtl + c   停止任务 ctrl + z   暂停任务 bg     把任务放到后台执行 fg 把后台的第一个任务放到前台执行,如果有多个任务,可以用fg 加任务编号调出 jobs   查看当前执行的脚本或者任务 top 显示进程 nice 改变系统优先级 nohup 用户退出系统之后可以继续工作 pgrep 查看匹配条件

Linux后台执行脚本文件,nohup

看运维人员执行nohup命令后,把程序放在后台执行,很高大上,就研究了一下,这个命令. nohup命令及其输出文件 nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令.该命令可以在你退出帐户/关闭终端之后继续运行相应的进程.nohup就是不挂起的意思( n ohang up). 该命令的一般形式为:nohup command & 使用nohup命令提交作业 如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为

在linux后台执行脚本

1. 使用&符号在后台执行命令 你可以在Linux命令或者脚本后面增加&符号,从而使命令或脚本在后台执行,例如:. $ ./my-shell-script.sh & 2. 使用nohup在后台执行命令 使用&符号在后台执行命令或脚本后,如果你退出登录,这个命令就会被自动终止掉.要避免这种情况,你可以使用nohup命令,如下所示: $ nohup ./my-shell-script.sh & 3. 使用screen执行命令 通过nohup和&符号在后台执行命令

shell 脚本中后台执行命令 &

最近遇到一个问题, 执行脚本,脚本调用 一个命令,命令(deamon)是一个守护进程,为了调试,取消了守护进程模式.导致命令后边的其他命令(echo "456")都无法执行. deamon -d 是以守护进程模式启动:deamon -x 是以非守护进程模式启动(监控进程,死循环),stdout和stderr 关联到 控制终端. 脚本是 a.sh #!/bin/sh echo “123“ /usr/local/bin/deamon -d & >/dev/null 2>

shell脚本定时后台执行

1. 使用&符号在后台执行命令 你可以在Linux命令或者脚本后面增加&符号,从而使命令或脚本在后台执行,例如:. $ ./my-shell-script.sh & 2. 使用nohup在后台执行命令 使用&符号在后台执行命令或脚本后,如果你退出登录,这个命令就会被自动终止掉.要避免这种情况,你可以使用nohup命令,如下所示: $ nohup ./my-shell-script.sh & 3. 使用screen执行命令 通过nohup和&符号在后台执行命令

关于 Linux 下后台执行 Python 脚本的缓冲问题

[问题简述] 在 Linux 下后台执行 Python 脚本,重定向到日志文件,日志文件迟迟没有内容. [方案一](测试有效) nohup python3 -u t.py &> log.log & [方案一](测试无效) 方案二来自 stackoverflow,虽然测试无效,但其他地方也许会用到,记录一下. stdbuf -oL nohup python3 t.py &> log.log & *** walker *** 原文地址:http://blog.51c