Ini adalah pemahaman saya tentang penggunaan &, disowndan nohup:
<command>: menjalankan proses dalambashinstance Terminal saat ini , di latar depan (yaitu proses terdaftar sebagaibashpekerjaan latar depan danstdin,stdoutdanstderrmasih terikat ke terminal ); tidak kebal terhadap hangup ;<command> &: menjalankan proses dalambashinstance Terminal saat ini , di latar belakang (yaitu proses terdaftar sebagaibashpekerjaan latar belakang danstdin,stdoutdanstderrmasih terikat ke terminal ); tidak kebal terhadap hangup ;<command> & disown: menjalankan proses dalambashinstance Terminal saat ini , di latar belakang , tetapi proses terlepas dari daftarbash'pekerjaan' (yaitu proses tidak terdaftar sebagai pekerjaanbashlatar depan / latar belakang danstdin,stdoutdanstderrmasih terikat ke terminal ); kebal terhadap hangup ;nohup <command> & disown: Menjalankan proses dalam Terminal saat inibashmisalnya, di latar belakang , tetapi proses ini terlepas daribashdaftar 's pekerjaan' (yaitu proses ini tidak terdaftar sebagaibashforeground / latar belakang pekerjaan danstdin,stdoutdanstderryang tidak masih terikat ke terminal ) ; kebal terhadap hangup ;
Jadi, selain dari nohup <command> & disownmemblokir stdindan mengarahkan stdoutdan stderruntuk nohup.outsecara default, tampaknya bagi saya seperti itu dapat dianggap benar-benar setara dengan <command> & disown.
Apakah semua di atas benar? Adakah kesalahpahaman?
bashinstance orang tua tidak akan mematikan proses