linux 后台运行程序

3次阅读

共计 481 个字符,预计需要花费 2 分钟才能阅读完成。

前言

一般为了程序后台运行, 我们需要使用 nohup 命令.
此时需要对程序运行时所产生的输出信息记录, 因此就需要使用 linux 的信息输出命令

START

一个例子
比如要让 redis-server 程序后台运行
1. 非后台运行:
$> ./redis-server
2. 后台运行:
$> nohup ./redis-server 1>/dev/null 2>1 &

其中数字 1 代表标准输出,2 代表错误信息输出, 还有未使用的标准输入即数字 0.
1>/dev/null 2>1 & 的意思是标准信息输出到空设备即不做任何处理, 也不做任何显示,/dev/null 也可以替换为文本文件名 (如 out.log), 此时标准信息就会输出到指定文件.
2>1 表示错误信息输出到标准输出, 即输出同 1 > 后面的位置, 当然也可以直接指定新文件名 (如 err.log).
& 表示程序后台运行

上面的命令还可简写:
nohup ./redis-server >/dev/null 2>1 &
即去掉标准输出数字 1

END
记录
后台运行一个程序
1. 先用 netstat -tln 查看端口信息 2.isof -i: 端口 可以找到程序进程号 PID3.kill PID 可以关闭程序

正文完
 0