On Mon, Feb 28, 2005 at 10:56:48AM +0700, Arief Yudhawarman wrote: > Hai milisers, > > Perintah apa yg digunakan dalam script bash agar kita bisa langsung > logout dr shell, bukan dr program script ? Contoh script sederhana > spt ini untuk mematikan linux dan otomatis logout dr shell (yg > terakhir ini masih gagal) : > > #!/bin/bash > /usr/bin/sudo /sbin/shutdown -h now > echo "Server akan mati dalam waktu 2 detik dari sekarang" > sleep 2 > exit > > Saya jalankan perintah ini, tetap saja command 'exit' hanya akan > mengeluarkan saya dr program script bukan dr shell. Saya coba pakai > command 'logout' untuk gantikan 'exit' malahan tidak bisa.
Script itu tidak harus selalu dijalankan dari shell. Gimana kalo tidak ada shell yang running pas script itu dijalankan? Misalnya jalan dr cron. Atau dijalankan oleh user lain? Baris pertama shell script itu kan menunjukkan interpreternya, itu memberi indikasi juga kalo akan dispawn satu process /bin/bash, jadi kalo script itu dijalankan dari bash pun jadinya akan ada dua bash process. Anggep aja ini contoh dua process bash milik user yg sama: bash (interactive shell) | `--bash (script yg dijalanin) jadi kalo processnya beda gimana mau mengirim pesan ke process yg lain? (Hint: signal). Lagipula, shutdown kan biasanya mengubah ke runlevel yg utk shutdown (biasanya 0), nantinya akan mengirim signal ke semua process untuk bunuh diri anyway, jadi utk apa 'logout'? Ronny
pgpnQKwa8fsyX.pgp
Description: PGP signature