Saya mencoba untuk melepaskan proses dari skrip bash sehingga SIGINT tidak akan diteruskan ke proses ketika saya keluar dari skrip.
Saya telah menggunakan disown
perintah di terminal secara langsung, namun dalam bash, disown
tidak menghentikan SIGINT agar tidak diteruskan. Tujuan dari skrip ini adalah untuk memulai openocd dan kemudian gdb dengan doa tunggal. Karena skrip tidak pernah keluar (itu menjalankan gdb) SIGINT masih diteruskan dari gdb ke openocd yang merupakan masalah karena SIGINT digunakan sebagai perintah berhenti di gdb.
Di terminal akan terlihat seperti ini:
$ openocd & # run openocd demonized
$ disown $! # disown last pid
$ gdb # invoke GDB
ketika dipanggil pada terminal dalam urutan ini, SIGINT tidak diteruskan dari gdb ke openocd. Namun jika doa yang sama ini dalam skrip bash, SIGINT diteruskan.
Bantuan apa pun akan sangat dihargai.
ps masalah ini ada di OS X tapi saya mencoba menggunakan alat yang juga portabel untuk semua alat Unix.
screen
?
nohup
bukan jawaban yang tepat. Anda harus menambahkan beberapa pseudocode atau kode contoh untuk menunjukkan lebih tepat apa yang Anda inginkan.