让我们举一个命令“example-command”的例子。
example-command
,example-command
执行。example-command
也会被杀死。example-command &
”,但行为相同。如何执行命令以便在关闭终端时命令不会终止?
答案 0 :(得分:28)
有两种方式,结果相同。
nohup
。例如,nohup example-command
。您可以正常背景和使用它;退出后它会继续运行。disown
命令。不幸的是,据我所知,disown
是特定于bash的;如果您使用其他shell,例如tcsh
,则您可能会被限制在上面的nohup
表单中。答案 1 :(得分:11)
请先搜索类似的问题。
除了上面列出的方法,你可以这样做:
setsid command_name
例如:
setsid xclock
由于
答案 2 :(得分:7)
在Zsh(不是bash)中你可以:
example-command &; disown {pid}
或只是
example-command &; disown
答案 3 :(得分:5)
您还可以考虑使用screen命令。
答案 4 :(得分:1)
nohup example-command
答案 5 :(得分:1)
你也可以使用'at' or 'batch' commands并给它当前时间。
答案 6 :(得分:1)
disown是一个内置的bash。您可以为命令创建包装器shellcript,例如
#!/bin/bash
$1 &
P=`which $1`
disown `pidof ${P}`
不是最强大的脚本(无论如何),但可能有助于您前进。例如:
$./launch_script.sh myProgram
如果您正在编辑它,也可以在程序源中执行此操作。
答案 7 :(得分:-2)
运行:example-command
按:Control-Z
运行:bg