转:nohup 和>/dev/null 2>&1
一、用途:nohup表示永久运行。&表示后台运行
在应用Unix/Linux时,我们一般想让某个程序在后台运行,nohup ./start-mysql.sh &
该命令的一般形式为:nohup command &
在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:
nohup command > myout.file 2>&1 &
在上面的例子中,输出被重定向到myout.file文件中。
二、>/dev/null 2>&1
/dev/null 代表空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。
> 代表重定向到哪里
1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"
2 表示stderr标准错误
& 表示等同于的意思,2>&1,表示2的输出重定向等同于1
nohup ./mqnamesrv >/home/cxb/mqnamesrv.out 2>&1 &
即标准输出到mqnamesrv.out中,接着,标准错误输出重定向等同于标准输出,输出到同一文件中。
三、使用 jobs 查看任务。
使用 fg %n 关闭。
四、sh xxx.sh与./xxx.sh区别
sh xxx.sh是用sh 执行start.sh,start.sh可以没有执行标志,可以不用加./,可以不用在脚本第一行写上#!/bin/sh
./start.sh是调用脚本第一行制定的shell去解释执行,缺省为sh,就是bash
本文参考了https://blog.csdn.net/chang_li/article/details/54138207