当前位置: 首页 > news >正文

Linux nohup

nohup 是 Linux 系统中一个非常实用的命令,它的英文全称是 “no hang up”(不挂断),主要用于在用户退出登录或者终端会话关闭后,让指定的程序在后台持续运行,而不会受到 HUP(hangup)信号的影响而终止。以下为你详细介绍 nohup 的使用方法、注意事项等内容。

基本语法

nohup command [arguments] &
  • command:你要执行的命令,例如 python script.pyjava -jar app.jar 等。
  • [arguments]:命令所需的参数,可根据具体命令进行填写。
  • &:将命令放到后台执行。

使用示例

1. 运行一个简单的脚本

假设你有一个 Python 脚本 test.py,要让它在后台持续运行,即使你退出终端也不停止,可以使用以下命令:

nohup python test.py &

执行该命令后,test.py 脚本会在后台运行,并且会将输出信息保存到当前目录下的 nohup.out 文件中。

2. 指定输出文件

如果你不想将输出信息保存到 nohup.out 文件中,而是指定其他文件,可以使用重定向符号 > 来实现:

nohup python test.py > output.log &

这样,脚本的输出信息就会保存到 output.log 文件中。

3. 忽略标准错误输出

有时候你可能不想保存标准错误输出信息,可以将其重定向到 /dev/null(一个特殊的设备文件,会丢弃所有写入的数据):

nohup python test.py > output.log 2>/dev/null &

这里 2> 表示重定向标准错误输出,/dev/null 表示丢弃这些信息。

查看和管理后台进程

  • 查看进程状态:使用 ps 命令可以查看当前运行的进程信息。例如,要查看所有 Python 进程,可以使用以下命令:
ps -ef | grep python
  • 终止进程:如果需要终止正在运行的后台进程,可以使用 kill 命令。首先使用 ps 命令找到进程的 PID(进程 ID),然后使用以下命令终止进程:
kill -9 PID

其中 -9 表示强制终止进程,PID 是要终止的进程的 ID。

注意事项

  • 文件权限:确保 nohup.out 或你指定的输出文件所在的目录有足够的写入权限,否则可能会导致输出信息无法正常保存。
  • 资源占用:在使用 nohup 运行长时间任务时,要注意监控系统资源的使用情况,避免因任务占用过多资源而影响系统性能。
  • 进程管理:及时清理不再需要的后台进程,避免过多的僵尸进程占用系统资源。

通过使用 nohup 命令,你可以方便地让程序在后台持续运行,不受终端会话的影响。

 

相关文章:

  • MySQL的聚簇索引与非聚簇索引
  • [M二分] lc2080. 区间内查询数字的频率(模拟+二分+数据结构+Go二分库函数+知识总结)
  • 大数据的特点
  • Java 23和JDK 23详细安装方法,常用命令使用等
  • 2015年下半年试题二:论软件系统架构风格
  • 一周学会Flask3 Python Web开发-post请求与参数获取
  • 【数据结构】队列(Queue)
  • java面试场景问题
  • 【Vue+python】Vue调用python-fastApi接口实现数据(数值、列表类型数据)渲染
  • 探索C语言中判断字符串循环移位关系的实现
  • Python常见面试题的详解9
  • 【Elasticsearch】multi_match查询
  • domain 网络安全
  • OkHttp工具类
  • Spring Boot 示例项目:从零开始构建 Web 应用
  • SpringCloud-Seata
  • 一个简洁高效的Flask用户管理示例
  • C++--STL库-List
  • 华为昇腾服务器部署deepseek的坑
  • QT移植,交叉编译至泰山派RK3566开发板,.pro文件解析
  • 广东一驴友在英德野景点溺亡,家属被爆向21名同伴索赔86万
  • 专利申请全球领先!去年我国卫星导航与位置服务产值超5700亿元
  • 光明日报社副总编辑薄洁萍调任求是杂志社副总编辑
  • 杨建全已任天津市委副秘书长、市委市政府信访办主任
  • 夜读丨什么样的前程值得把春天错过
  • 上海率先推进生物制品分段生产试点,这款国产1类创新药获批上市