Proses pada Linux didasarkan pada Unix, dimana telah menjadi kebijakan umum untuk menjalankan beberapa user dan beberapa perintah, Pada saat yang sama dan pada sistem yang sama pula
Dibawah ini konsep proses pada sistem operasi:
- Setiap proses diberi nomor khusus sebagai identifikasi yang disebut proses idenfifikasi (PID), PID ini berupa angka integer yang unik
- Jika proses selesai maka semua sumber daya yang digunakan termasuk PID akan dibebaskan kembali
- Proses dibuat dengan mengunakan sistem call fork yang sering disebut Forking proses
- Sistem call fork memproses pemanggil sehingga akan terdapat dua proses yaitu:
- Proses pemanggil disebut Parent
- Proses hasil copy - an disebut Child
Type proses pada Linux
Interaktif proses
interaktif proses adalah proses inisial yang dikontrol dalam sebuah terminal artinya ada seorang yang terhubung dengan sistem untuk memulai proses ini, sistem tidak dapat berjalan secara otomatis.
Untuk memudahkan user, Shell menawarkan fitur yang disebut control job, fitur ini dapat memungkinkan penangan beberapa proses dengan mudah, untuk mengunakan fitur ini kita harus mengunakan perintah xtream
Dibawah ini perintah mengunakan xtream
- hairul@duatiga-desktop:~$ xterm
Gambar : Perintah xterm
ket : Perintah xterm akan membuka terminal baru, seperti pada gambar diatas
Dibawah ini fitur job control yang dijelaskan secara rinci dalam bash halaman info
contoh yang lebih praktis dlm tabel diatas dapat ditemukan dalam latihan
Proses otomatis
Daemon
Proses attribut
Sebuah proses memiliki beberapa serangkain attribut, yang dapat dilihat dengan mengunakan perintah ps, Dibawah ini contoh perintah ps
ID Proses / PID Proses: Nomor identifikasi unik
Proses induk ID / PPId: Jumlah proses PID yg memulai proses ini
Nice Number : Nomor proses untuk menuju keproses lainnya
Terminal/tty : Terminal/consol yang digunakan
Menampilkan informasi proses
Untuk info lebih lengkap meneganai perintah ps, ps --help atau man ps
Memulai proses dan Mengakhiri proses
Memulai proses
Mengakhiri Proses
Ketika proses biasanya tidak dibunuh atau tiba - tiba terputus, program mengembalikan status keluaran ke parent proses, status ini dikelurkan adalah nomor pemberian hasil pelaksanaan program.
Signal pada proses
Proses dapat berakhir karena sistem menerima signal, ada beberapa signal yang dapat dikirim untuk mengakhiri proses, maka gunakan perintah killl, perintah kill -l menampilkan daftar signal.
Dibawah ini contoh perintah kill -l
kebanyakan signal digunakan oleh sistem internal atau programer yang menulis script. sebagai pengguna anda akan memerlukan signal berikut:
Tabel signal yg umum digunakan
Dibawah ini terdapat beberapa pertayaan mengenai pembahasan diatas:
Questions:
1. use ps to search to init process by name?
4. using the terminal name for above, use ps to find all process associate with your terminal?
5. what is the process id of your shell?
Untuk menampilkan process id shell anda maka gunakan perintah echo $$. Dibawah ini contoh perintah echo $$
Disini terlihat process id shell saya 1961, perintah echo $$ hanya digunakan jika shell yang anda gunakan bash, untuk mengetahui shell apa yang anda gunakan maka gunakan perintah echo $SHELL. seperti pada gambar dibawah ini
6. What is the parent process id of your shell?
Untuk melihat parent process id (PPID) maka gunakan perintah echo $$ $PPID
seperti pada gambar dibawah ini
7. Start two instances of the sleep 3342 in background?
Untuk menjawabnya maka buatlah dua buah process sleep 3342 di Background. Dibawah ini contoh perintah sleep 3342
8. Locate the prcess id of all sleep command?
Untuk melihat process id dari semua perintah sleep maka gunakan perintah ps fx |grep sleep atau menggunakan perintah ps -ef |grep sleep. Dibawah ini contoh dari perintah ps fx |grep sleep dan perintah ps -ef |grep sleep
9. Display only those two sleep process in top. then quit top?
10. Use a standard kill to kill one of the sleep process
Disini terlihat bahwa PID 4492 telah hilang jadi prosesnya telah terbunuh
11. Use one command to kill all sleep process?
Untuk membunuh semua proses sleep maka gunakan perintah pkill -9 sleep
Bagian dari perintah | Makna command |
| regular_command | Menjalankan perintah dilatar depan |
| Command & | Menjalankan perintah dilatar belakang |
| Job | Menampilkan pekerjaan yang berjalan dilatar belakang |
| Ctrl + Z | Menghentikan tetapi tidak berhenti proses yang berjalan dilatar depan |
| Ctrl + C | Menghentikan dan berhenti proses yang berjalan dilatar depan |
| %n | Setiap proses yang berjalan dilatar belakang mendapatkan nomor id |
| bg | Menampilkan kembali program yang berjalan di latar belakang |
| fg | Menempatkan kembali pekerjaan yg dilatar depan |
| kill | Mengakhiri proses |
Proses otomatis
Proses otomatis atau proses batch tidak terhubung ke terminal sebaliknya, ini adalah tugas yang mendapatkan antrian ke daerah spooler, dimana mereka menunggu untuk dieksekusi secara FIFO (first in - first out), tugas tersebut dapat dieksekusi menggunakan salah satu dari dua kriteria dibawah ini:
- Pada tanggal dan waktu tertentu, dilakukan dengan mengunakan perintah at
- Pada saat beban sistem rendah untuk menerima jo tambahan, maka dilakukan dengan mengunakan perintah batch. secara default, tugas diletakan dalam antrian dimana mereka akan menunggu untuk dieksekusi sampai beban sistem rendah. Dalam lingkungan pekerjaan yang besar, seorang administrator sistem dapat memilih batch proses ketika begitu banyak jumlah data yang akan diproses. Batch procesing digunakan juga untuk mengoptimalkan kinerja sistem.
Daemon
Daemon adalah proses server yang berjalan secara terus - menerus, sebagian besar waktukya diinisialisasikan pada saat start up sistem dan kemudian menunggu dilatar belakang sampai layanannya diperlukan, sebuah contoh yang sederhana daemon jaringan xinetd, yang dimulai hampir disetiap prosedur boot. setelah sistem di Boot Daemon jaringan hanya menunngu untuk dihubungkan ke program klien seperti klien FTP
Proses attribut
Sebuah proses memiliki beberapa serangkain attribut, yang dapat dilihat dengan mengunakan perintah ps, Dibawah ini contoh perintah ps
- hairul@duatiga-desktop:~$ ps
Gambar : Perintah ps
Dibawah ini penjelasan serangkaian attribut proses yang diatas: ID Proses / PID Proses: Nomor identifikasi unik
Proses induk ID / PPId: Jumlah proses PID yg memulai proses ini
Nice Number : Nomor proses untuk menuju keproses lainnya
Terminal/tty : Terminal/consol yang digunakan
Nama pengguna : User yg memberikan peritah utk melakukan proses pada sistem
Group : Kelompok pengguna yang memulai prosesMenampilkan informasi proses
Perintah ps adalah salah satu alat untuk menampilkan proses pada sistem UNIX, perintah ini memiliki beberapa pilihan untuk yang dapat dikombinasi untuk menampilkan proses attribut yang berbeda, Tanpa opsi tersebut, ps hanya memberikan informasi tentang shell saat ini dan proses akhirnya
- hairul@duatiga-desktop:~$ ps
Gambar : Perintah ps
Perintah diatas umumnya tidak dapat memberikan informasi yang cukup, Biasanya kita akan memilih proses tertentu dari daftar proses yang ada dengan mengunakan perintah grep, seperti perintah dibawah ini yang akan menyeleksi proses dari user tertentu.
- hairul@duatiga-desktop:~$ ps -ef | grep hairul
Gambar: Perintah ps -ef | grep hairul
Dibawah ini contoh proses yang menunjukan semua proses dengan nama proses bash, shell login paling umum dalam sistem UNIX- hairul@duatiga-desktop:~$ ps auxw | bash
Gambar: Perintah ps auxw | grep bash
Dalam kasus ini perintah grep untuk menemukan baris yang mengandung bash string, bash string sering ditampilkan juga pada sistem yang memiliki banyak idletime, jika anda tidak ingin ini terjadi gunakan perintah pgreb.
Dibawah ini perbedaan perintah ps auxw | grep bash dgn ps auxw | pgrep bash - hairul@duatiga-desktop:~$ ps auxw | grep bash
- hairul@duatiga-desktop:~$ ps auxw | pgrep bash
Untuk info lebih lengkap meneganai perintah ps, ps --help atau man ps
- hairul@duatiga-desktop:~$ ps --help
Gambar: Perintah ps --help
- hairul@duatiga-desktop:~$ man ps
Gambar: man ps
untuk menampilkan informasi baris pertama pada perintah ps, gunakan perintah uptime.
Data untuk program ini disimpan di /var/run/utmp dan dalam sistem file virtual pada /proc, ada berbagai macam applikasi yang dapat digunakan untuk melihat data ini dintaranya GNOME sistem monitor dan lavaps.
Hubungan antar proses dapat divisualisasikan dengan mengunkan perintah ps tree, Dibawah ini contoh perintah ps tree
- hairul@duatiga-desktop:~$ pstree
Gambar: Perintah pstree
-u dan -a pada perintah pstree adalah attribut untuk melihat informasi tambahan, untuk mengetahui lebih lanjut tentang pstree lihat halaman info pstree
Memulai proses dan Mengakhiri proses
Memulai proses
Sebuah proses baru dibuat karena proses yang ada membuat salinan dirinya sendiri (child), Proses child memiliki lingkungan yang sama dengan Parent, hanya nomor ID proses yang berbeda, prosedur ini disebut Forking proses, setelah forking proses terjadi ruang alamat dari proses child diganti dengan proses baru, hal ini dilakukan melalui pangilan exec ke sistem
fork dan exec adalah mekanisme yang beralih dari perintah lama ke perintah baru, sementara lingkungan program yang baru dijalankan tetap sama, termasuk dari konfigurasi input, output, variabel, dan prioritas. mekanisme ini digunakan untuk membuat proses pada UNIX juga berlaku pada sistem operasi Linux. skema ini mengambarkan mekanisme fork dan exec
Dibawah ini gambar skema mekanime fork dan execAda beberapa kasus dimana init menjadi induk dari beberapa proses, sedangkan proses itu tidak dimulai oleh init seperti yang sudah dilihat dalam contoh pstree
Mengakhiri Proses
Ketika proses biasanya tidak dibunuh atau tiba - tiba terputus, program mengembalikan status keluaran ke parent proses, status ini dikelurkan adalah nomor pemberian hasil pelaksanaan program.
Signal pada proses
Proses dapat berakhir karena sistem menerima signal, ada beberapa signal yang dapat dikirim untuk mengakhiri proses, maka gunakan perintah killl, perintah kill -l menampilkan daftar signal.
Dibawah ini contoh perintah kill -l
- root@pc-48-desktop:/# kill -l
Gambar: Perintah kill -l
Tabel signal yg umum digunakan
| Nama signal | Jumlah sinyal | Makna |
| SIGTERM | 15 | Hentikan proses dalam cara yang teratur. |
| SIGINT | 2 | Mengganggu proses ini. Sebuah proses dapat mengabaikan sinyal ini. |
| SIGKILL | 9 | Mengganggu proses ini. Sebuah proses tidak bisa mengabaikan sinyal ini. |
| SIGHUP | 1 | Untuk daemon: membaca ulang file konfigurasi. |
Anda dapat membaca lebih lanjut tentang tindakan default yang diambil ketika mengirimkan sinyal ke sebuah proses dalam man
7 signal .Dibawah ini terdapat beberapa pertayaan mengenai pembahasan diatas:
Questions:
1. use ps to search to init process by name?
Untuk menggunakan perintah ps mencari process init by name maka gunakan perintah ps --help. Perintah ini untuk mendapatkan informasi tentang penggunaan perintah ps. Dibawah ini contoh perintah ps --help
- root@pc-48-desktop:/# ps --help
Gambar: ps --help
Untuk menjawab pertayaan diatas maka gunakan perintah ps -C init atau dengan mengunakan perintah top kemudian lihat pada field command dan lihat pada column init. Dibawah ini contoh perintah ps -C init
- root@pc-48-desktop:/# ps -C init
Gambar: Perintah ps -C init
2. what is process id of the init process?
Untuk menjawabnya lihat kembali terminal anda pada perintah ps -C init lihat PIDnya.
PID : Id process
TTY : Untuk melihat consol yang dipakai
Time : Waktu
CMD : untuk melihat perintah yang digunakan
Disini terlihat bahwa PID dari command init 1
3. use the who am i command to the terminant your terminal name?
Untuk melihat nama terminal anda maka gunakan perintah who am i.
note: perintah who am i : menampilkan nama host, consol yang dipakai, dan waktu pada saat perintah digunakan sedangkan perintah whoami: hanya menampilkan nama user. Dibawah ini contoh perbedaan perintah who am i dengan whoami
- root@pc-48-desktop:/# who am i
- root@pc-48-desktop:/# whoami
Gambar: Perintah who am i & whoami
4. using the terminal name for above, use ps to find all process associate with your terminal?
Untuk mencari process assosiasi pada perintah sebelumnya seperti pada perintah diatas, maka gunakan perintah ps fx |grep pts/0. Dibawah ini contoh perintah ps fx |grep pts/0
- root@pc-48-desktop:/# who am i
- root@pc-48-desktop:/# ps fx |grep pts/0
Gambar Perintah ps fx |grep pts/0
note: pts/0 : consol yang dipakai pada perintah sebelumnya5. what is the process id of your shell?
Untuk menampilkan process id shell anda maka gunakan perintah echo $$. Dibawah ini contoh perintah echo $$
- hairul@pc-48-desktop:/# echo $$
Gambar: Perintah echo $$
Disini terlihat process id shell saya 1961, perintah echo $$ hanya digunakan jika shell yang anda gunakan bash, untuk mengetahui shell apa yang anda gunakan maka gunakan perintah echo $SHELL. seperti pada gambar dibawah ini
- hairul@pc-48-desktop:/# echo $SHELL
Gambar: Perintah echo $SHELL
note: Disini terlihat shell yang saya gunakan yaitu bash6. What is the parent process id of your shell?
Untuk melihat parent process id (PPID) maka gunakan perintah echo $$ $PPID
seperti pada gambar dibawah ini
- root@pc-48-desktop:/# echo $$
- root@pc-48-desktop:/# echo $$ $PPID
Gambar: Perintah echo $$ $PPID
Disini terlihat bahwa id 1961 merupakan process Parent (induk) sedangkan id 1953 merupakan process child atau process anak7. Start two instances of the sleep 3342 in background?
Untuk menjawabnya maka buatlah dua buah process sleep 3342 di Background. Dibawah ini contoh perintah sleep 3342
- root@pc-48-desktop:/# sleep 3342
Gambar: Perintah sleep 3342
note:
Sleep : Perintah sleep
3342 : Lama waktu yang diperintah pada process sleep
& : Attribut dari perintah sleep yang ditambahkan untuk menjalankan sebuah process di latar belakang
8. Locate the prcess id of all sleep command?
Untuk melihat process id dari semua perintah sleep maka gunakan perintah ps fx |grep sleep atau menggunakan perintah ps -ef |grep sleep. Dibawah ini contoh dari perintah ps fx |grep sleep dan perintah ps -ef |grep sleep
- root@pc-48-desktop:/# ps fx |grep sleep
- root@pc-48-desktop:/# ps -ef |grep sleep
Gambar: Perintah ps fx |greep sleep & ps -ef |greep sleep
ket:
ps : Perintah utk menampilkan proses
-f : full
-e : all process
-x : process w/o controling tty
9. Display only those two sleep process in top. then quit top?
Untuk menampilkan dua process dari sleep dengan menggunakan perintha top maka terlebih dahulu kita harus mengetahui informasi tentang perintah top. untuk mengetahui informasi tentang perintah top gunakan perintah top --help
- hairul@pc-48-desktop:/# top --help
Gambar: Perintah top --help
jadi untuk menampilkan dua process sleep yang sudah kita buat dengan mengunakan perintah top maka terlebih dahulu kita harus mengetahui PID dari proses sleep yang baru kita buat, untuk mengetahui terlebih dahulu PID dari proses sleep maka gunakan perintah ps fx |grep sleep. Dibawah ini contoh dari perintah ps fx |grep sleep
- hairul@pc-48-desktop:/# ps fx |grep sleep
Gambar: Perintah ps fx |grep sleep
Jadi untuk menjawab pertayaan no 9 maka kita gunakan perintah top -p (nomor PID). Dibawah ini contoh perintah top -p (nomor PID)
- hairul@pc-48-desktop:/# top -p 4992
Gambar: Perintah top -p 4992
ket:
top : Menampilkan task manager pada linux
-p : option pada perintah top
4992 : PID pada process sleep
Untuk quit dari perintah top maka tekan tombol Q kemudian enterYang saya tanyakan kembali? Bagaimana menampilkan kedua proses sleep dengan menggunakan sebuah perintah top, sebab saya sudah mencoba menggunakan perintah top -p 4992 | 5068 dan perintah top -p 4992 & 5068 tetapi tidak bisa? Lihat gambar dibawah ini
10. Use a standard kill to kill one of the sleep process
Untuk mengakhiri proses maka gunakan perintah kill (option) (PID). Dibawah ini perintah kill standard yang biasa saya pakai. untuk megetahui informasi signal pada perintah kill maka gunakan perintah kill -l
- hairul@pc-48-desktop:/# kill signal 4492
Gambar: Perintah kill signal 4492
ket: kill : Perintah untuk mengakhiri proses
signal : Option pada perintah kill
4492 : PID pada salah satu perintah sleep
kemudian kita lihat kembali PID 4492 pada proses sleep tadi apakah sudah terbunuh atau belum, jika belum terbunuh saya sarankan gunakan option -9 pada signal kill seperti dibawah ini kill -9 4492
11. Use one command to kill all sleep process?
Untuk membunuh semua proses sleep maka gunakan perintah pkill -9 sleep
- hairul@pc-48-desktop:/# pkill -9 4492
Sampai Disini dulu pertemuan kita, lebih dan kurangnya saya mohon maaf

































0 komentar:
Posting Komentar