linux后台运行退出不中断,Linux后台执行的方法 - 关闭、退出不影响

=============================================================================================

nohup command > myout.file 2>&1 &

命令解析:

使用nohup命令后台运行命令之后,需要使用exit正常退出当前账户,这样才能保证命令一直在后台运行。

command>out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。

2>&1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了out.file文件,即将标准出错也输出到out.file文件中。

最后一个&, 是让该命令在后台执行。

ctrl + z

可以将一个正在前台执行的命令放到后台,并且处于暂停状态。

Ctrl+c

终止前台命令。

jobs

查看当前有多少在后台运行的命令。

jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated。但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识。

注意:当前用户退出后再次登录,无法通过jobs查询后台任务,需要使用PS才可以找到。被坑了,MARK下。

tail -100f out.file

可以监控日志文件

=============================================================================================

难免会遇到在Linux,后台执行任务。下面,总结了一下关闭窗口任然在后台执行的方法,例如

#执行一个打包命令

tar czf /data/backup.tgz /data/backup

1. 采用&

tar czf /data/backup.tgz /data/backup &

ctrl+d #退出 才可以,如果直接关闭窗口,进程任然会被关闭

2. 采用nohup

nohup tar czf /data/backup.tgz /data/backup

ctrl+z #挂起到后台

bg #后台执行 可以先通过jobs 查看当前有多少job

ctrl+d #或者 关闭窗口 进程任然会在后台执行

3.采用nohup + &

nohup tar czf /data/backup.tgz /data/backup &

ctrl+d 或者 关闭窗口 进程任然会在后台执行

4.采用(command &)

(tar czf /data/backup.tgz /data/backup &) #会将ppid设置为1,而非当前会话的id,并且jobs查看不到当前的作业。注意这里的括号即是这个方法的重点。

ctrl+d #或者 关闭窗口 进程任然会在后台执行

5.采用setid run a program in a new session

setid tar czf /data/backup.tgz /data/backup #会将ppid设置为1,而非当前会话的id

ctrl+d #或者 关闭窗口 进程任然会在后台执行

6.采用disown

tar czf /data/backup.tgz /data/backup

ctrl+z

jobs

bg %N

disown -h %N #N即为job的id disown 可以配合 &使用,效果更好,因为 CTRL-z 的用途就是将当前进程挂起(Suspend),然后我们就可以用jobs命令来查询它的作业号,再用bg jobspec来将它放入后台并继续运行。需要注意的是,如果挂起会影响当前进程的运行结果,请慎用此方法。

disown -rh -a xxx #-a所有 -r所有 -h忽略hup

7.采用screen

screen

tar czf /data/backup.tgz /data/backup

ctrl+a d #不可以直接ctrl+d 这样会ternimate screen

用screen -dmS session name来建立一个处于断开模式下的会话(并指定其会话名)。

用screen -list 来列出所有会话。

用screen -r session name来重新连接指定会话。 screen -x session_name(id) 连接attached会话

用快捷键CTRL-a d 来暂时断开当前会话。

golang在linux后台执行的方法

go build ./index.go 会生成一个index的运行文件 nohup index & 后台运行index文件 killall index 你可能还要关闭index set GOA ...

Linux后台执行脚本 &与nohup

Linux后台执行脚本的方式: 0.脚本代码 [root@VM_1_3_centos apps]# cat test.php <?php sleep(5); echo "hello w ...

shell作业后台执行的方法

来思考几种场景: 1.某个脚本需要执行时间比较长,无人值守,可能执行过程中因ssh会话超时而中断? 2.某次测试一段代码,需要临时放入后台运行? 3.放入后台运行的脚本,需要在一段时间后重新调到前台? ...

Linux后台运行Jar方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值