linux如何后台运行服务

如何开启:

1.nohup

用途:不挂断地运行命令。

语法:nohup Command [ Arg … ] [ & ]

  无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。

  如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。

  如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。

退出状态:该命令返回下列出口值:   

  126 可以查找但不能调用 Command 参数指定的命令。   

  127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。   

  否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。
 

2.&

用途:在后台运行

一般两个一起用

nohup command &

 

举个例子:

nohup python3 main.py >> main.log 2> &1 &

0:代表 – stdin (standard input)标准输入

1: 代表– stdout (standard output)标准输出

2 :代表– stderr (standard error) 标准错误

2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到main.log文件中。

 0 22 * * * /usr/bin/python /home/pu/download_pdf/download_dfcf_pdf_to_oss.py > /home/pu/download_pdf/download_dfcf_pdf_to_oss.log 2>&1

这是放在crontab中的定时任务,晚上22点时候怕这个任务,启动这个python的脚本,并把日志写在download_dfcf_pdf_to_oss.log文件中

此时查看进程:

可见服务已经正常在后台运行了!

 

如何关闭:

第一种方法:jobs -l

此下方出现了正在运行的进程pid

运行 kill  -9  [想要关闭的进程的pid]即可关闭进程

 

第二种方法:ps -ef | grep python3   |   ps -aux | grep python3 ....

可见和上面的方法得到了一样的结果

 

第三种方法:lsof -i tcp:8888

通过查询端口的方式一样可以得到进程号!

 

借鉴文章:

https://www.cnblogs.com/baby123/p/6477429.html

https://www.cnblogs.com/jinxiao-pu/p/9131057.html

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值