Terminal
從終端執行時自動取消應用程序
從終端啟動應用程序後,如何自動取消應用程序的所有權?
例如:如果您啟動一個終端並執行
firefox
應用程序將啟動,但是當您關閉終端時,firefox 也將關閉。為避免無意中關閉從終端啟動的應用程序,可以先將它們置於後台,並帶有符號:firefox &
這也恢復了使用該終端提示符的能力。接下來,您可以使用應用程序的程序 ID (PID) 從同一終端拒絕應用程序,請參見下面的範例:$ firefox & $ ps | grep firefox 14917 pts/6 00:00:00 firefox $ disown 14917
該應用程序現在獨立於您正在使用的終端執行,關閉終端將不再終止該應用程序。
但是,如何在每次啟動應用程序時自動執行此操作?
最簡單的方法是執行:
daemon firefox
因此您可以繼續使用/關閉終端本身
編輯:IV 提供了更好的答案。
要自動執行此操作,您可以使用 bash 別名。如果您將以下行添加到您的主目錄中的 .bash_aliases 文件中,您可以
my_application
使用以下命令從終端啟動任何應用程序,同時自動將其置於後台並隨後從該終端取消它s my_application
:# start programs from shell but immediately disown them startAndDisown() { $1 & disown $! } alias s=startAndDisown
請注意,它會
$!
自動返回最後一個非同步作業的 PID。