如何让shell脚本在后台运行 关闭当前窗口后继续执行shell脚本

一、不使用.sh脚本文件,直接让shell命令在后台运行的方法
nohup rm -rf mytestdir/ &
上面的脚本运行后,会删除mytestdir这个文件夹,为什么有这个需求,一般直接运行即可,没有必要在后台运行,但我要说的是这个文件夹很大,特殊大,大于20G,删除它需要一定的时间,这时候同事的婚礼开始了,你必须要去参加,不用后台执行,如果你关闭窗口,程序就立即停止了,那就使用上面的一段代码在后台运行,你可以放心去吃大餐了。
二、让.sh脚本文件在后台执行
nohup rm -rf mytest.sh &
这里的 mytest.sh 是脚本文件,同样是可以在后台执行的。
三、回来后如何查看执行的情况
婚礼参加完毕,回来后,如何查看脚本 的运行情况:
ps -aux|grep mytestdir
上面的mytestdir是执行命令中含有 的字眼,查找这个字眼可以看是否执行成功了,如果是脚本 文件,可以换成脚本 文件名
如果执行成功,会如下显示
[1]+ Done nohup rm -rf mytestdir/
显示Done , do的完成式, 说明已经执行完了。
其他的命令也是同样的道理。
四、可以不输出nohup.out日志吗,因为这个文件也很大
nohup java -jar your_program.jar >/dev/null 2>&1 &
在这个命令中:
>表示将标准输出重定向到/dev/null,即丢弃输出。2>&1表示将标准错误重定向到标准输出,这样标准错误也会被重定向到/dev/null。&符号表示在后台运行命令。
使用这个命令后,程序的输出将不会被记录到nohup.out文件中,从而实现了不输出日志的目的, 因为是大文件,标准日志也会很大,标准日志可以忽略,只输出错误日志即可,如果连错误日志都不想要输出,可以按照上面的设置进行屏蔽输出了。




















