首先我们先了解下nohup命令
语法:
nohup Command [ Arg … ] [ & ]
参数说明:
Command:要执行的命令。
Arg:一些参数,可以指定输出文件。
&:让命令在后台执行,终端退出后命令仍旧执行。
ossftp 实例:
我们需要切换到root用户,运行sh脚本
nohup /ossftp_test/ossftp-1.2.0-linux-mac/start.sh &
在输出界面,我们看到appending output to ‘nohup.out’说明成功执行
[root@xxx ossftp-1.2.0-linux-mac]# nohup /ossftp_test/ossftp-1.2.0-linux-mac/start.sh &
[1] 1170
nohup: ignoring input and appending output to ‘nohup.out’
这时我们打开/ossftp_test/ossftp-1.2.0-linux-mac目录能看到生成了nohup.out文件。
如果要停止运行,需要查找到PID,然后用kill命令进行删除。
ps -aux | grep "Start.sh"
参数说明:
- a : 显示所有程序
- u : 以用户为主的格式来显示
- x : 显示所有程序,不区分终端机
找到 PID 后,就可以使用 kill PID 来删除。
kill -9 进程号PID
也可以使用下面得命令进行标准输出到log文件中。
nohup /ossftp_test/ossftp-1.2.0-linux-mac/start.sh > nohup.log 2>&1 &
2>&1 解释:
将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 runoob.log 文件中。
- 0 – stdin (standard input,标准输入)
- 1 – stdout (standard output,标准输出)
- 2 – stderr (standard error,标准错误输出)