Saya memiliki masalah ketika membuat skrip pemula akan memanggil skrip beberapa kali, menyebabkan IRCd saya muncul sekitar 8 kali atau lebih. Untuk memperbaiki ini, saya menggunakan start-stop-daemon:
description "IRC Daemon Upstart Script"
start on startup
start on runlevel [2345]
stop on runlevel [016]
respawn
nice -5
exec start-stop-daemon --start --chuid ircuser --chdir /home/ircuser/inspircd/run --exec /home/ircuser/inspircd/run/bin/inspircd -- --config=/home/ircuser/inspircd/run/conf/inspircd.conf
Ini berfungsi persis seperti yang saya inginkan, KECUALI bahwa:
stop ircd
mengatakan bahwa itu menghentikannya, tetapi inspircd masih berjalan setelahnya.
Apakah ada cara yang lebih baik daripada menggunakan start-stop-daemon yang akan menghentikan skrip dari membuka 8 instance, atau adakah cara agar saya dapat membuatnya kompatibel dengan start-stop-daemon?
expect fork
memperbaiki masalah. Namun, saya masih tidak dapat memanggil 'stop ircd' dan skrip berhenti. Namun, saya akan mengelola tanpanya (ps aux, kill), tetapi jika Anda dapat mengubah jawaban Anda dengan menyertakan cara untuk melakukan itu, saya akan menjadi pengguna Ubuntu yang sangat senang;)sudo start ircd
harus menampilkan PID. Jika Anda tetap pada akhirps
(misalnya:)ps u -p <PID>
apakah itu menunjukkan proses yang masuk akal? Jika tidak, ini masih kehilangan jejak PID sehingga Anda mungkin ingin mencobaexpect daemon
ps aux
,kill <pid>
bekerja dengan baik, saya lebih khawatir tentang membuat script MULAI boot, yang tidak. Terima kasih!