disown 和 nohup 都是 Linux 中用于在后台运行命令的工具,但它们之间有一些关键区别。

  1. 类型:disown 是一个 shell 内置命令,而 nohup 是一个独立的命令行工具。

  2. 关联性:disown 将一个正在运行的命令从 shell 的作业列表中删除,使其不再与 shell 关联。而 nohup 则是在命令前加上 'nohup' 并将其发送到后台运行,将输出重定向到一个文件中,并忽略所有中断信号。

  3. 适用范围:disown 只能用于已经在前台运行的命令,而 nohup 可以用于启动新的后台进程。

  4. 输出处理:disown 不会改变命令的输出,而 nohup 会将输出重定向到文件中。

  5. 作业管理:disown 可以使用 'jobs' 命令来查看当前正在运行的作业列表,而 nohup 没有这个功能。

了解 disown 和 nohup 的差异将帮助您选择最适合您的工作流程的工具。例如,如果您需要在后台运行一个长期运行的任务,并确保它即使在您退出 shell 后也能继续执行,那么 nohup 是更好的选择。如果您只想将一个正在运行的命令从 shell 的作业列表中移除,那么 disown 是更合适的工具。

Linux disown 与 nohup 的区别:后台运行命令的最佳选择

原文地址: https://www.cveoy.top/t/topic/lHId 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录