
我試圖以發生以下情況的方式從終端啟動程式:
- 關閉終端並不會關閉程式
- 開啟、使用或關閉時程式不會向終端輸出任何內容
- 終端可免費用於其他用途
- 該命令簡短而甜蜜
- 無需擔心輸出文件
答案1
看man nohup
:
NAME
nohup - run a command immune to hangups, with output to a non-tty
答:
nohup program-name &
答案2
我認為這將是最完整的方法:
program-name </dev/null &>/dev/null &
disown %%
否認後台進程意味著 shell 將不再追蹤它。它不會告訴你什麼時候完成。它不會阻止您關閉 shell。%%
意思是「最近的後台作業」。
如果您想隱藏所有詳細信息,請在 .bashrc 中添加這樣的函數
launch_and_forget () { "$@" </dev/null &>/dev/null & disown %%; }
然後
launch_and_forget program args "args args" ...
取一個對您有意義的名字。
答案3
你可以非常簡單地使用setsid
:-
NAME
setsid - run a program in a new session
SYNOPSIS
setsid program [arg...]
DESCRIPTION
setsid runs a program in a new session.
試試以下命令:-
setsid <command>
範例:setsid gedit
-setsid nautilus ~/Downloads/
等