Linux disown 与 nohup 的区别:后台运行命令的最佳选择
disown 和 nohup 都是 Linux 中用于在后台运行命令的工具,但它们之间有一些关键区别。
-
类型:disown 是一个 shell 内置命令,而 nohup 是一个独立的命令行工具。
-
关联性:disown 将一个正在运行的命令从 shell 的作业列表中删除,使其不再与 shell 关联。而 nohup 则是在命令前加上 'nohup' 并将其发送到后台运行,将输出重定向到一个文件中,并忽略所有中断信号。
-
适用范围:disown 只能用于已经在前台运行的命令,而 nohup 可以用于启动新的后台进程。
-
输出处理:disown 不会改变命令的输出,而 nohup 会将输出重定向到文件中。
-
作业管理:disown 可以使用 'jobs' 命令来查看当前正在运行的作业列表,而 nohup 没有这个功能。
了解 disown 和 nohup 的差异将帮助您选择最适合您的工作流程的工具。例如,如果您需要在后台运行一个长期运行的任务,并确保它即使在您退出 shell 后也能继续执行,那么 nohup 是更好的选择。如果您只想将一个正在运行的命令从 shell 的作业列表中移除,那么 disown 是更合适的工具。
原文地址: https://www.cveoy.top/t/topic/lHId 著作权归作者所有。请勿转载和采集!