Saya menggunakan perintah $ nohup ...
untuk memulai aplikasi di latar belakang sehingga saya bisa menutup jendela terminal sesudahnya.
Setelah dieksekusi itu menciptakan file ~/nohup.out
.
Contoh:
orschiro@x230:~$ nohup /bin/bash -c "sleep 15 && python3 /home/orschiro/bin/show_state.py"
nohup: ignoring input and appending output to 'nohup.out'
Bagaimana saya mencegah nohup
membuat nohup.out
?
command-line
nohup
orschiro
sumber
sumber
byobu
. :)byobu
, mulailah apa pun yang Anda inginkan, kemudian tekanF6
dan Anda selesai. Anda dapat kembali ke sana dengan berlaribyobu
lagi.Jawaban:
Anda dapat mengarahkan output di mana saja Anda suka, misalnya:
redirection mencegah file output default
nohup.out
dibuat./dev/null
terlupakan, jadi jika Anda tidak ingin data sama sekali, kirim ke sana.Di bash Anda dapat menyingkat
>/dev/null 2>&1
ke&>/dev/null
Untuk program yang saya gunakan sering saya membuat alias (dan menambahkannya ke saya
.bashrc
) misalnyaSekarang yang harus saya ketik adalah
show_state
sumber
show_state () { /bin/bash -c "$@" &>/dev/null }
? (Peringatan: sintaksis yang buruk dan mungkin tidak akan berfungsi! Ini hanya contoh!). Satu nitpick: mengapashow_state
ketika Anda membuang outputnohup
?.py
file. Dan ya, suatu fungsi lebih menyenangkan. Saya memiliki fungsi ini ditulis buruk pada desktop Debian:shutup() { source "$@" >/dev/null 2>&1 & }
. Dan itu berhasil. Mungkin Anda bisa menyarankan sesuatu yang serupa, tetapi jauh lebih baik?&>
berhasil (dan menurut saya itu terlihat seperti latar belakang ditambah pengalihan stdout). Saya selalu mempelajarinya sebagai>&
. Apakah ini standar?