Yeni bir işte nasıl hata ayıklayabilirim?


10

Aşağıdaki iş var /etc/init/collector:

start on runlevel [2345]
stop on runlevel [!2345]

expect daemon

exec /usr/bin/twistd -y /path/to/my/tac/file

İşe başladığımda sudo service collector starttakılıyor. Eğer ctrl-ckoşarsam initctl list, şunu görüyorum:

collector start/killed, process 616

twistdPS'de daemon örneğini göremiyorum ve sağlaması gereken HTTP sunucusu mevcut değil.

Bunu 'beklemek daemon' olmadan ve bir scriptstanza kullanarak tek satırlık bir bash betiğine basit bir çağrı ile bile denedim ve hala çalışmıyor. Sanırım çok yanlış bir şey yapıyorum. Ne olabilirdi?


Cevap yok, ama benzer bir sorunla mücadele ediyorum. Upstart'da bile bir hata olabilir: bugs.launchpad.net/ubuntu/+source/upstart/+bug/438313 Bu asılı durumdan diğer yeniden başlatmadan nasıl alacağımı bilmiyorum. Ayrıca bu expect daemonçizgi ile ilgili olduğuna inanıyorum .
hasar

Yanıtlar:


14

Aşağıdaki gibi pragmayı (yerine ) kullanarak tüm kabuğu yeniden yönlendirebilir stdoutve aşağıdaki gibi yapabilirsiniz:stderrscriptexecexec >FILE 2>&1

script
    exec >/path/to/some_log_file 2>&1
    exec your_command_here
end script

Umarım neler olup bittiğini daha iyi anlarsınız. Bunu, uptart scriptlerimdeki her türlü problemi yakalamak için yararlı buldum. Sen olabilir boru komut en stdout/ stderrdoğrudan, ancak (sözdizimi hataları gibi) kabuk hatalar menşeli üzerinde özleyeceğim.

Öte yandan, serviceasılı, bu olabilir hatta, Senaryonu vurmamalıydı bu durumda elbette bu irade yardımı hiçbiri, içinde.


Teşekkürler, bu beni doğru yola soktu. Sonunda ben loggersadece kuyruk olabilir böylece çıktı boru /var/log/syslog.
Cera

Ayrıca, conf dosyasındaki hatalar da gösterilir dmesg. Yukarıdakileri kullanırken herhangi bir çıktı almadığımda bunu öğrendim. Ben chdir direktifinde bir yazım hatası yapmıştım.
codingFoo

Bu kodu nereye koydunuz?
kev


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.