Eva*_*van 14 command-line execute-command
我正在尝试以发生以下情况的方式从终端启动程序:
wal*_*tor 15
见man nohup:
NAME
nohup - run a command immune to hangups, with output to a non-tty
Run Code Online (Sandbox Code Playgroud)
回答:
nohup program-name &
Run Code Online (Sandbox Code Playgroud)
我认为这将是最完整的方式:
program-name </dev/null &>/dev/null &
disown %%
Run Code Online (Sandbox Code Playgroud)
取消后台进程意味着 shell 将不再跟踪它。它不会告诉你什么时候完成。它不会阻止您关闭外壳。%%意思是“最近的背景工作”。
如果你想隐藏所有的细节,在你的 .bashrc 中放一个这样的函数
launch_and_forget () { "$@" </dev/null &>/dev/null & disown %%; }
Run Code Online (Sandbox Code Playgroud)
然后
launch_and_forget program args "args args" ...
Run Code Online (Sandbox Code Playgroud)
取一个对你有意义的名字。
您可以非常简单地使用setsid:-
NAME
setsid - run a program in a new session
SYNOPSIS
setsid program [arg...]
DESCRIPTION
setsid runs a program in a new session.
Run Code Online (Sandbox Code Playgroud)
尝试以下命令:-
setsid <command>
Run Code Online (Sandbox Code Playgroud)
例如: - setsid gedit,setsid nautilus ~/Downloads/等