2010/2/11 Donny Kurnia <[email protected]>:
> Ini karena aplikasi yang jalan lewat console, parent-nya adalah
> konsole tersebut. Jika ingin konsolenya ditutup setelah aplikasi
> jalan, tambahkan '&' dibelakang nama aplikasi:
>
> $ firefox &
>
> Perintah ini akan menjalankan aplikasi firefox di background, terpisah
> dari process konsole-nya. Konsole bisa ditutup dan firefox tidak
> terpengaruh.
ralat sedikit..
penggunaan & memang akan meletakkan proses di background. namun kalau
melihat hirarki proses, proses baru tadi tetap berada di bawah proses
yang menjalankannya (dalam hal ini adalah konsole).
aplikasi ikutan mati biasanya karena aplikasi yg membukanya mati dan
mengirimkan sinyal HUP ke proses anak yg ada. sinyal ini scr default
diterjemahkan menjadi perintah untuk mati. coba cek man 7 signal
Signal Value Action Comment
----------------------------------------------------------------------
SIGHUP 1 Term Hangup detected on controlling terminal
or death of controlling process
Andai aplikasi menangani sinyal HUP ini, aplikasi bisa menghindari
kematian gara2 induknya mati =D
Cara lain untuk memaksa agar sinyal HUP ini tidak sampai ke aplikasi
adalah dg menggunakan nohup atau disown -h pada bash. Coba baca
http://en.wikipedia.org/wiki/Nohup
Coba juga skrip python kecil berikut.
--------------------------------------------------->8--
import time
import signal
def handler(signum, frame):
f = open('/tmp/signal.txt', 'a')
f.write("Signal: %d\n" % signum)
f.close()
signal.signal(signal.SIGHUP, handler)
while True:
time.sleep(0.01)
--8<--------------------------------------------------
Coba jalankan lalu tutup konsolenya. Setelah itu cek daftar proses yg
aktif apakah skrip ini masih jalan atau tidak.
--
Iang-
http://fajran.web.id http://dahsy.at
--
FAQ milis di http://wiki.linux.or.id/FAQ_milis_tanya-jawab
Unsubscribe: kirim email ke [email protected]
Arsip dan info milis selengkapnya di http://linux.or.id/milis