Home > command, docs, freebsd, GNU/Linux, Slackware, tips, Unix Variant > How to Terminate, Suspend, and Continue a process using kill

How to Terminate, Suspend, and Continue a process using kill


Dalam computing (komputasi), kill adalah sebuah perintah yang digunakan dalam sistem operasi untuk mengirimkan sinyal ke sebuah process yang sedang berjalan. Contohnya kita bisa men-terminate program / process yang sedang berjalan.

a unix process within thread

a unix process within thread

Jika kita berbicara mengenai kill, tentu saja ini berhubungan dengan system call kill dan signal processing. Untuk lebih lengkapnya silahkan baca sendiri di Wikipedia sudah komplit2.. 😛 . Pada intinya system call / kill() berhubungan dengan signal. Dibawah ini model status proses di Unix.

Saya kira gambar diatas sudah cukup bagaimana proses itu bisa ada dan bisa tidak ada. Dan bagaimana juga antisipasi jika ada zombi berkeliaran.. wkakaak….

Terkait judul diatas hanya Terminate, Suspend, dan Kill. Maka saya hanya menjelaskan tiga hal tersebut. Untuk temen-temennya terminate,suspend,dan kill lainya bisa dibaca sendiri di manual page ( man signal) atau di wikipedia (pengertian secara umum).

Oiya, dalam percobaan saya ini menggunakan FreeBSD dan Slackware. Silahkan praktikan sendiri dimesin Un*x like lainnya :P.

Terminate
Terminate dalam process signal ada beberapa macam.. setahu saya ada 2 macam. Silahkan baca lagi di wikipedia. Yang saya coba di sini adalah signal no #9 .. Oiya, signal ini memiliki urutansignal . Jadi Signal #9 adalah signal yang men-terminate secara tidak normal dari sbuah proses dan harus dilaksanakan secepatnya. *doh maksude pie kui* 😀

Ok, sekarang kita praktekan sendiri2..:

Perintahnya:

kill -9 pid

dimna pid adalah nomor pid = process id.

secara umum perintahnya adalah seperti diatas. Jika menggunakan TOP di FreeBSD pada saat top runninng, ketik k lalu isi -9 pid. Saya coba dengan menggunakan mesin slackware 13, agak sedikit berbeda. Ketik k lalu isi pid, baru nomor signal. Tapi nomor signal kill tetap sama yaitu no 9 . 😀

Suspend.

Perintah sinyal suspend akan dijalankan pada process yang berjalan dengan perintah:

FreeBSD:

kill -17 pid

Slackware:

kill -19 pid

dalam signal suspend ini ada 2 macam jika di environment freebsd. signal 17 sama 18. Perbedaan nya jika signal 17 tidak dapat diabaikan jika perintah dari inputan keyboard atau system sendiri (cron misal). Jika signal 18 hanya dapat berjalan jika inputan command berasal dari keyboard / terminal. Begitu juga di Slackware, signal 19 dengan 20 sama seperti signal 17 dengan 18 di FreeBSD.

Continue

Perintah sinyal continue akan dijalankan pada process yang berjalan dengan perintah:

FreeBSD:

kill -19 pid

Slackware:

kill -18 pid

Setelah itu bisa anda praktekan sendiri-sendiri. Misal pada pemutar musik anda :mrgreen: serasa hang tapi bukan hang. atau pada ssh koneksi temen anda pada waktu login. Lho.. koq dipencet2 command na g kluar2, apa koneksi nya putus ???? koq g ada connection time out…. heee.. yaaa.. betul, proses anda sedang di pause / suspend 😛

Berikut List Signal di Slackware:

bash-3.1$ kill -l
 1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL
 5) SIGTRAP      6) SIGABRT      7) SIGBUS   
8. SIGFPE
 9) SIGKILL     10) SIGUSR1     11) SIGSEGV     12) SIGUSR2
13) SIGPIPE     14) SIGALRM     15) SIGTERM     16) SIGSTKFLT
17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU
25) SIGXFSZ     26) SIGVTALRM   27) SIGPROF     28) SIGWINCH
29) SIGIO       30) SIGPWR      31) SIGSYS      34) SIGRTMIN
35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3  38) SIGRTMIN+4
39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12
47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14
51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10
55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7  58) SIGRTMAX-6
59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
63) SIGRTMAX-1  64) SIGRTMAX

Dan berikut List signal di FreeBSD:

 No    Name 	Default Action	     Description
     1	   SIGHUP	terminate process    terminal line hangup
     2	   SIGINT	terminate process    interrupt program
     3	   SIGQUIT	create core image    quit program
     4	   SIGILL	create core image    illegal instruction
     5	   SIGTRAP	create core image    trace trap
     6	   SIGABRT	create core image    abort program (formerly SIGIOT)
     7	   SIGEMT	create core image    emulate instruction executed
     8	   SIGFPE	create core image    floating-point exception
     9	   SIGKILL	terminate process    kill program
     10    SIGBUS	create core image    bus error
     11    SIGSEGV	create core image    segmentation violation
     12    SIGSYS	create core image    non-existent system call invoked
     13    SIGPIPE	terminate process    write on a pipe with no reader
     14    SIGALRM	terminate process    real-time timer expired
     15    SIGTERM	terminate process    software termination signal
     16    SIGURG	discard signal	     urgent condition present on
					     socket
     17    SIGSTOP	stop process	     stop (cannot be caught or
					     ignored)
     18    SIGTSTP	stop process	     stop signal generated from
					     keyboard
     19    SIGCONT	discard signal	     continue after stop
     20    SIGCHLD	discard signal	     child status has changed
     21    SIGTTIN	stop process	     background read attempted from
					     control terminal
     22    SIGTTOU	stop process	     background write attempted to
					     control terminal
     23    SIGIO	discard signal	     I/O is possible on a descriptor
					     (see fcntl(2))
     24    SIGXCPU	terminate process    cpu time limit exceeded (see
					     setrlimit(2))
     25    SIGXFSZ	terminate process    file size limit exceeded (see
					     setrlimit(2))
     26    SIGVTALRM	terminate process    virtual time alarm (see
					     setitimer(2))
     27    SIGPROF	terminate process    profiling timer alarm (see
					     setitimer(2))
     28    SIGWINCH	discard signal	     Window size change
     29    SIGINFO	discard signal	     status request from keyboard
     30    SIGUSR1	terminate process    User defined signal 1
     31    SIGUSR2	terminate process    User defined signal 2
     32    SIGTHR	terminate process    thread interrupt

semoga bermanffaat 🙂

ref:
1. man signal

2. man kill

3. wikipedia

Advertisements
  1. gusrohman
    April 4, 2010 at 1:49 am

    makasih maz…

  2. gusrohman
    April 4, 2010 at 1:54 am

    pertamax

  3. lolo
    September 14, 2011 at 10:52 am

    maaf mas gambar ga jelas…

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s