nohup 命令
nohup 命令的作用就是让后台工作在离开操作终端时,也能够正确地在后台执行。
基本格式
[root@localhost ~]# nohup [命令] &
注意,这里的‘&’表示此命令会在终端后台工作;反之,如果没有‘&’,则表示此命令会在终端前台工作。
例如:
[root@localhost ~]# nohup find / -print > /root/file.log &
[3] 2349
#使用find命令,打印/下的所有文件。放入后台执行
[root@localhost ~]# nohup:忽略输入并把输出追加到"nohup.out"
[root@localhost ~]# nohup:忽略输入并把输出追加到"nohup.out"
#有提示信息
接下来的操作要迅速,否则 find 命令就会执行结束。然后退出登录,重新登录之后,执行“ps aux”命令,会发现 find 命令还在运行。
如果 find 命令执行太快,我们就可以写一个循环脚本,然后使用 nohup 命令执行。
例如:
[root@localhost ~]# vi for.sh
#!/bin/bash
for ((i=0;i<=1000;i=i+1))
#循环1000次
do
echo 11 >> /root/for.log
#在for.log文件中写入11
sleep 10s
#每次循环睡眠10秒
done
[root@localhost ~]# chmod 755 for.sh
[root@localhost ~]# nohup /root/for.sh &
[1] 2478
[root@localhost ~]# nohup:忽略输入并把输出追加到"nohup.out"
#执行脚本
接下来退出登录,重新登录之后,这个脚本仍然可以通过“ps aux”命令看到。