Resume Sistem Operasi Pertemuan 9


  1. Background Proses
               Contoh: untuk mendownload semua repo yang ada di pusat repo dengan cara syncronisasi dengan mudah yaitu dengan apt-mirror. Langkah pertama adalah install :
    sudo apt-get install apt-mirror apache2 (apache optional)
    cell@cell-desktop:~$ cat /etc/apt/mirror.list
    ############# config ##################
    #
    # set base_path    /var/spool/apt-mirror
    #
    # set mirror_path  $base_path/mirror
    # set skel_path    $base_path/skel
    # set var_path     $base_path/var
    # set cleanscript $var_path/clean.sh
    # set defaultarch  <running host architecture>
    # set postmirror_script $var_path/postmirror.sh
    # set run_postmirror 0
    set nthreads     20
    set _tilde 0
    #
    ############# end config ##############
    deb http://10.12.32.200/mirror/archive.ubuntu.com/ubuntu lucid main restricted universe multiverse
    deb http://10.12.32.200/mirror/archive.ubuntu.com/ubuntu lucid-security main restricted universe multiverse
    deb http://10.12.32.200/mirror/archive.ubuntu.com/ubuntu lucid-updates main restricted universe multiverse
    #deb http://archive.ubuntu.com/ubuntu maverick-proposed main restricted universe multiverse
    deb http://10.12.32.200/mirror/archive.ubuntu.com/ubuntu lucid-backports main restricted universe multiverse
    #deb-src http://archive.ubuntu.com/ubuntu maverick main restricted universe multiverse
    #deb-src http://archive.ubuntu.com/ubuntu maverick-security main restricted universe multiverse
    #deb-src http://archive.ubuntu.com/ubuntu maverick-updates main restricted universe multiverse
    #deb-src http://archive.ubuntu.com/ubuntu maverick-proposed main restricted universe multiverse
    #deb-src http://archive.ubuntu.com/ubuntu maverick-backports main restricted universe multiverse
    clean http://10.12.32.200/mirror/archive.ubuntu.com/ubuntu
    cell@cell-desktop:~$
    Kali ini saya mengupgrade lucid 10.04 karena LTS. Setelah itu jalankan mirroring
    su - apt-mirror -c apt-mirror&
    Tanda & belakang untuk background process.
  2. Status Proses cell@cell-desktop:~$ Kali ini saya mengupgrade lucid 10.04 karena LTS. Setelah itu jalankan mirroringPerintah atau command ps (process status) di gunakan untuk menampilkan informasi proses yang sedang berjalan termasuk nomor PID (Process Identification Number) dari proses tersebut. Proses atau biasa disebut task akan berjalan jika ada sebuah aplikasi yang sedang dijalankan, setiap proses yang berjalan oleh system diberi nomor PID yang unik.Syntak dasar dari perintah ps adalah "ps [option]" Jika anda menggunakan perintah ps tanpa diikuti option apapun, maka akan ditampilkan output standart dari perintah ps tersebut yang terdiri dari PID, TTY, TIME, dan CMD
    contoh: 
    arie@natty:~$ ps PID TTY TIME CMD 1815 pts/0 00:00:00 bash 1869 pts/0 00:00:00 ps 
    1. Memulai menggunakan perintah ps
    Ketikkan perintah berikut untuk menampilkan semua prosess yang sedang berjalan  
    ps -aux | less
    Contoh
    arie@natty:~$ ps -aux | less USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 2920 1812 ? Ss 02:49 0:00 /sbin/init root 2 0.0 0.0 0 0 ? S 02:49 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 02:49 0:00 [ksoftirqd/0] root 6 0.0 0.0 0 0 ? S 02:49 0:00 [migration/0] root 7 0.0 0.0 0 0 ? S 02:49 0:00 [migration/1] root 8 0.0 0.0 0 0 ? S 02:49 0:00 [kworker/1:0] root 9 0.0 0.0 0 0 ? S 02:49 0:00 [ksoftirqd/1] root 10 0.0 0.0 0 0 ? S 02:49 0:00 [kworker/0:1] root 11 0.0 0.0 0 0 ? S< 02:49 0:00 [cpuset] root 12 0.0 0.0 0 0 ? S< 02:49 0:00 [khelper] root 13 0.0 0.0 0 0 ? S< 02:49 0:00 [netns] root 15 0.0 0.0 0 0 ? S 02:49 0:00 [sync_supers] root 16 0.0 0.0 0 0 ? S 02:49 0:00 [bdi-default] root 17 0.0 0.0 0 0 ? S< 02:49 0:00 [kintegrityd] root 18 0.0 0.0 0 0 ? S< 02:49 0:00 [kblockd] root 19 0.0 0.0 0 0 ? S< 02:49 0:00 [kacpid] root 20 0.0 0.0 0 0 ? S< 02:49 0:00 [kacpi_notify] root 21 0.0 0.0 0 0 ? S< 02:49 0:00 [kacpi_hotplug] root 22 0.0 0.0 0 0 ? S< 02:49 0:00 [ata_sff] root 23 0.0 0.0 0 0 ? S 02:49 0:00 [khubd] ..........
    option -a akan menampilkan semua user yang sedang menjalankan proses, option -u berfungsi untuk menampilkan semua proses ylain yang sedang berjalan, option -x berfungsi untuk menampilkan proses yang tidak dikontrol oleh terminal (tty) seperti daemon yang dijalankan saat booting. 
    2. Menampilkan semua proses yang sedang berjalan pada sistem  
    ps -A contoh : arie@natty:~$ ps -A PID TTY TIME CMD 1 ? 00:00:00 init 2 ? 00:00:00 kthreadd 3 ? 00:00:00 ksoftirqd/0 6 ? 00:00:00 migration/0 7 ? 00:00:00 migration/1 9 ? 00:00:00 ksoftirqd/1 10 ? 00:00:00 kworker/0:1 11 ? 00:00:00 cpuset 12 ? 00:00:00 khelper 13 ? 00:00:00 netns 15 ? 00:00:00 sync_supers 16 ? 00:00:00 bdi-default 17 ? 00:00:00 kintegrityd 18 ? 00:00:00 kblockd 19 ? 00:00:00 kacpid 20 ? 00:00:00 kacpi_notify 21 ? 00:00:00 kacpi_hotplug 22 ? 00:00:00 ata_sff 23 ? 00:00:00 khubd ........
    Atau gunakan perintah berikut 
    ps -e
    3. Melihat semua proses yang berjalan kecuali root
     
    ps -U root -u root -N contoh: arie@natty:~$ ps -U root -u root -N PID TTY TIME CMD 611 ? 00:00:00 rsyslogd 615 ? 00:00:00 dbus-daemon 658 ? 00:00:00 avahi-daemon 659 ? 00:00:00 avahi-daemon 834 ? 00:00:00 xrdp 1097 ? 00:00:00 gnome-session 1147 ? 00:00:00 ssh-agent 1150 ? 00:00:00 dbus-launch 1151 ? 00:00:00 dbus-daemon 1156 ? 00:00:00 gconfd-2 1165 ? 00:00:00 gnome-keyring-d 1170 ? 00:00:00 gnome-settings- 1175 ? 00:00:00 gvfsd 1179 ? 00:00:09 compiz ...... 
    4.Menampilkan proses yang sedang dijalankan oleh user tertentu
    ps -u user contoh : arie@natty:~$ ps -u arie PID TTY TIME CMD 1097 ? 00:00:00 gnome-session 1147 ? 00:00:00 ssh-agent 1150 ? 00:00:00 dbus-launch 1151 ? 00:00:00 dbus-daemon 1156 ? 00:00:00 gconfd-2 1165 ? 00:00:00 gnome-keyring-d 1170 ? 00:00:00 gnome-settings- 1175 ? 00:00:00 gvfsd 1179 ? 00:00:10 compiz 1183 ? 00:00:00 pulseaudio 1195 ? 00:00:00 gvfs-fuse-daemo 1255 ? 00:00:00 nautilus 1261 ? 00:00:00 polkit-gnome-au 1262 ? 00:00:00 bluetooth-apple 1263 ? 00:00:00 zeitgeist-datah ......
    5. Menampilkan proses yang sedang berjalan dalam bentuk bagan 
    pstree
    contoh:
    5934904144 1b11f0aa17 Cara Menggunakan Perintah ps di Linux Untuk Menampilkan Proses yang Sedang Berjalan
  3. Menghentikan Proses                                                                                                                      Mematikan Proses dengan aplikasi gnome-system-monitor
    anda bisa menggunakan gnome system monitor dengan cara mengklik menu System – Administration – System Monitor, atau dengan mengetikkan perintah berikut di terminal
    gnome-system-monitor
    5932617455 bc6bf0a2ce Cara Mematikan Proses Yang Sedang Berjalan di Linux Ubuntu
    Kemudian klik tab processes tab, pilih proses yang sedang berjalan, kemudian klik end process
    5932617629 71032f917e Cara Mematikan Proses Yang Sedang Berjalan di Linux Ubuntu
    2. Menggunakan perintah kill
    Jika anda menggunakan perintah kill anda harus tahu terlebih dahulu PID (Process Identifier) dari proses yang sedang berjalan, contoh misalkan anda ingin mematikan proses dari aplikasi banshe, maka ketikkan perintah berikut untuk menampilkan PID dari banshe
    ps aux | grep banshe
    hasilnya
    arie@natty:~$ ps aux | grep banshe
    arie      2009  0.0  0.0   5012  1472 ?        S    14:58   0:00 bash /usr/bin/banshee --redirect-log --play-enqueued
    arie      2015  5.8  4.1 361808 85612 ?        Sl   14:58   0:44 banshee /usr/lib/banshee/Banshee.exe --redirect-log --play-enqueued
    arie      2232  0.0  0.0   4156   868 pts/0    S+   15:11   0:00 grep --color=auto banshe
    Ternyata nomor PID banshe adalah 2015, untuk mematikan prosessnya anda bisa menggunakan perintah SIGTERM atau SIGKILL
    Menggunakan SIGTERM
    kill -s 15 2015
    Menggunakan SIGKILL
    kill -9 2015
     
  4. Jobs
    Untuk mengetahui fasilitas ini sudah dijalankan atau belum, dapat diketahui dengan perintah: 
    $set –o | grep monitor

    Monitor on (artinya jobs sudah aktif)

    Jika belum bisa mengetikan perintah

    $set –o monitor

    $set -m
    ¨Untuk menjalankan perintah background,
    perlu akhiran (&) disetiap
    perintah yang dijalankan.
     
    
    $find / - name *.c –print > c.out 2> c.error & 
    
    Perintah ini untuk memperoleh semua file berakhiran *.c dari root (/) dan hasilnya ditempatkan di c.out IGTERM
     
    $du / > du.out 2>1 &

    Perintah du digunakan untuk memperoleh blok dari setiap file atau direktori.

    $sleep 500 & # tidak melakukan apa-apa selama 500 detik

    $jobs

    <hasil jobs>

    $jobs -p
     
    
    
    
    
  5. Penjadwalan Proses
  1. Install crontab
 Buat yang belum diinstall crontab-nya, cara install nya adalah :
sudo apt-get install cron
2. Melihat aktifitas crontab
Untuk melihat schedule yang sedang berjalan di sistem Anda :
sudo crontab -l
3. Mengedit cron jobs
sudo crontab -e
editor default dari cron adalah vi atau pico
4. Format penulisan cron
Format penulisan crontab ditulis dengan format seperti ini :
* * * * * /home/sigit/script.sh

Penjelasan :
5 bintang (*) diatas merepresentasikan bagian2 format tanggal yang berbeda, urutannya sebagai berikut :
1. (* pertama) : menit (isian : 0 – 59)
2. (* kedua) : jam (isian : 0 – 23)
3. (* ketiga) : hari dari bulan / tanggal (isian : 1 – 31)
4. (* keempat) : bulan (isian : 1 – 12)
5. (* kelima) : hari dari minggu (isian : 0 – 6) –> 0 = minggu
Contoh :
> Eksekusi setiap menit :
* * * * * php /opt/lampp/htdocs/jobs/test.php
jadwal tersebut akan mengeksekusi perintah php pada setiap menit dari setiap jam, setiap hari, setiap minggu, setiap bulan
::bingung::
, pokoknya setiap menit dah.
> Eksekusi setiap Sabtu jam 12 siang :
0 12 * * 6 /home/sigit/script.sh
(* pertama) artinya pada menit ke 0, (* kedua) artinya pada jam ke 12, (* ketiga) artinya pada tanggal berapapun, (* keempat) artinya pada setiap bulan, (* kelima) artinya pada setiap hari sabtu (6 = sabtu). (semoga ngga bingung)
> Eksekusi pada jam 9 malam setiap hari kerja (Senin – Jumat) :
0 21 * * 1-5 /home/sigit/script.sh
Arinya
sama
mirip-mirip ama diatas, cuma (* kelima) diisi rentang, yaitu 1-5 (artinya senin-jumat)
> Eksekusi setiap menit ke 30 (setiap jam) pada setiap tanggal 1 (setiap bulan)
30 * 1 * * /home/sigit/script.sh
5. Tips and Trick
> Misalnya kita mau jalanin suatu perintah setiap 10 menit (tiap hari), penulisannya bisa seperti ini :
0,10,20,30,40,50 * * * * /home/sigit/script.sh
Tapi ada trik penulisan yang lebih gampang, caranya seperti ini :
*/10 * * * * /home/sigit/script.sh
arti dari (*/10) adalah (ngerti lah). :D
> kode-kode special
crontab menyediakan kode-kode special untuk digunakan, berikut kodenya :
@reboot     Run once, at startup
@yearly     Run once  a year     "0 0 1 1 *"
@annually   (same as  @yearly)
@monthly    Run once  a month    "0 0 1 * *"
@weekly     Run once  a week     "0 0 * * 0"
@daily      Run once  a day      "0 0 * * *"
@midnight   (same as  @daily)
@hourly     Run once  an hour    "0 * * * *
Cara pemakaian :
@daily /home/sigit/script.sh
6. Menyimpan log crontab
Supaya kita bisa memonitor pekerjaan crontab kita, hasil log bisa disimpan dalam file, caranya seperti berikut :
@daily /home/sigit/script.sh 2>&1 >> /home/sigit/log/crontab_schedule.log
atau bisa dikirim ke email (harus install mailx dulu), caranya :
@daily /home/sigit/script.sh 2>&1 | mail -s "Cronjob Log sgt.wibowo@gmail.com




0 comments:

Post a Comment

Chit-Chat (Live)