编程 使用 `nohup` 命令的概述及案例

2024-11-18 08:18:36 +0800 CST views 607

使用 nohup 命令的概述及案例

简介

nohup 是 Linux 和 Unix 系统中的命令,用于在后台运行进程并确保其在用户退出或关闭终端后继续运行。它能忽略挂断信号(SIGHUP),保证进程不因用户退出而终止。

基本语法

nohup COMMAND [ARG]... [ & ]
  • COMMAND:执行的命令或脚本。
  • [ARG]:命令的参数。
  • &:可选,放入后台执行。

关键用法与示例

  1. 基本用法
nohup ./my_script.sh &

该命令将在后台运行 my_script.sh 脚本,输出记录在 nohup.out 文件中。

  1. 指定输出文件
nohup ./my_script.sh > my_output.log 2>&1 &

此命令将输出和错误信息重定向到 my_output.log,而非默认的 nohup.out

  1. 与管道命令结合
nohup find / -name "*.log" | xargs rm -f > delete_logs.log 2>&1 &

命令查找并删除 .log 文件,日志记录在 delete_logs.log 中。

注意事项

  • 后台执行:使用 & 放入后台,结合 jobsbg/fg 管理进程。
  • 手动终止:使用 ps 查找进程 PID,kill 终止。
  • 日志管理:建议长时间任务重定向输出到日志文件。

实际案例

  1. 后台运行长时间任务
nohup ./data_processing.sh > process.log 2>&1 &

后台运行 data_processing.sh,输出重定向到 process.log,终端关闭后任务继续运行。

  1. 批量文件处理并记录日志
nohup bash -c 'for file in /var/logs/*.log; do gzip $file; done' > compress_logs.log 2>&1 &

后台压缩 /var/logs/ 中的 .log 文件,日志记录在 compress_logs.log

总结

nohup 是管理后台进程的重要工具,适用于长期任务,保证任务不因会话中断而终止。掌握 nohup 的使用,有助于提高任务管理的灵活性和可靠性。

复制全文 生成海报 Linux 命令行 系统管理 nohup

推荐文章

在 Nginx 中保存并记录 POST 数据
2024-11-19 06:54:06 +0800 CST
Vue中的`key`属性有什么作用?
2024-11-17 11:49:45 +0800 CST
在Rust项目中使用SQLite数据库
2024-11-19 08:48:00 +0800 CST
Vue3中如何进行错误处理?
2024-11-18 05:17:47 +0800 CST
10个极其有用的前端库
2024-11-19 09:41:20 +0800 CST
Python 基于 SSE 实现流式模式
2025-02-16 17:21:01 +0800 CST
Vue3中的自定义指令有哪些变化?
2024-11-18 07:48:06 +0800 CST
维护网站维护费一年多少钱?
2024-11-19 08:05:52 +0800 CST
Rust async/await 异步运行时
2024-11-18 19:04:17 +0800 CST
一个简单的html卡片元素代码
2024-11-18 18:14:27 +0800 CST
api接口怎么对接
2024-11-19 09:42:47 +0800 CST
Rust开发笔记 | Rust的交互式Shell
2024-11-18 19:55:44 +0800 CST
MySQL 优化利剑 EXPLAIN
2024-11-19 00:43:21 +0800 CST
JavaScript数组 splice
2024-11-18 20:46:19 +0800 CST
php strpos查找字符串性能对比
2024-11-19 08:15:16 +0800 CST
JavaScript设计模式:桥接模式
2024-11-18 19:03:40 +0800 CST
平面设计常用尺寸
2024-11-19 02:20:22 +0800 CST
Vue3中的Slots有哪些变化?
2024-11-18 16:34:49 +0800 CST
mendeley2 一个Python管理文献的库
2024-11-19 02:56:20 +0800 CST
从Go开发者的视角看Rust
2024-11-18 11:49:49 +0800 CST
Vue3中如何实现插件?
2024-11-18 04:27:04 +0800 CST
黑客帝国代码雨效果
2024-11-19 01:49:31 +0800 CST
Rust 中的所有权机制
2024-11-18 20:54:50 +0800 CST
程序员茄子在线接单