linux 后台运行程序

前言

  • 一般为了程序后台运行,我们需要使用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:端口 可以找到程序进程号PID
3.kill PID 可以关闭程序

    原文作者:赵栩彬
    原文地址: https://segmentfault.com/a/1190000017955583
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞