shell 后台运行

写个脚本:vi lalal.sh

#!/bin/bach

while true

do

echo 'i love you baby baby.......'

sleep 1

done

给脚本赋予执行权限:chmod +x lalal.sh

在前台运行:./lalal.sh

后台运行脚本

在后台运行:./lalal.sh &  注意: 后台运行无法通过Ctrl+c等方法停止。需要关闭窗口(root用户可能无法关闭)或者克隆窗口:ps -ef | grep lalal 查看后得到进程号。→kill -9 进程号

例如:

[hadoop@sure data_log]$ ps -ef|grep write.sh
hadoop     4734   1986  0 10月16 pts/0  00:00:00 sh write.sh
hadoop     4991   1986  0 10月16 pts/0  00:00:00 sh write.sh
hadoop     5279   1986  0 10月16 pts/0  00:00:00 sh write.sh
hadoop     5984   1986  0 10月16 pts/0  00:00:00 sh write.sh
hadoop     7216   1986  0 10月16 pts/0  00:00:00 sh write.sh
hadoop     7253   1986  0 10月16 pts/0  00:00:00 sh write.sh
hadoop     8409   1986  0 10月16 pts/0  00:00:00 sh write.sh
hadoop     8483   1986  0 10月16 pts/0  00:00:02 sh write.sh
hadoop    10294   1986  0 10月16 pts/0  00:00:00 sh write.sh
hadoop    11394   1986  0 10月16 pts/0  00:00:00 sh write.sh
hadoop    11688   1986  0 10月16 pts/0  00:00:00 sh write.sh
hadoop    12847   1986  0 00:06 pts/0    00:00:00 sh write.sh
hadoop    12880   3512  0 00:06 pts/2    00:00:00 grep --color=auto write.sh
[hadoop@sure data_log]$ kill -9 12847

解决方法:标准输出重定向(1就是标准输出。>为定向后加定向后的路径。2表示错误输出的报错内容)

例如:./lalal.sh 1>/root/lalal.log 2>/root/lalal.err &

正在运行中的脚本停止:jobs显示正在运行的脚本→fg1 前台显示 →Ctrl+c

如果不需要保存输出的内容(输出到“黑洞”/dev/null):./lalal.sh 1>/dev/null 2>&1 & (&1表示引用1的路径)

防止用户退出程序停止:nohup ./lalal.sh 1>/dev/null 2>&1 &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值