nohup 和>/dev/null 2>&1

转: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

原文地址:https://www.cnblogs.com/LBeautiful/p/10577226.html