upstart
tipik süreçlerin iki tür yönetir SIGHUP
sinyali için bir sinyal işleyici sağlarken, daemonun yapılandırma dosyalarını yeniden okuyup yeniden ayrıştırmasını isteyin. (SIGHUP
, telefon hatları veya SSH protokolleri bağlı veya bağlantısız olarak gelebilecek terminaller için daha uygun bir sinyaldir. Terminalleri olmayan programlar için terminallerini "asmak" mantıklı değildir. sinyal gönderilecek olmaz bu yüzden, sistem yöneticisi eylemiyle hariç daemona.)
bunu bir SIGHUP
sinyali aldığında yapılandırmasını yeniden okumak için programı değiştirebilir, o zaman standart upstart
reload service
komutunu kullanabilirsiniz yapılandırma dosyalarını yeniden yüklemek için (Bu sinyalde numaralı bir işlemi yapabilirsiniz, ancak sistem yöneticileri, bu sinyal üzerindeki yapılandırma dosyalarını yeniden okumaya yönelik sistem yöneticilerinin beklemelerini bekler - başka bir şey yapmak kafa karıştırıcı ve can sıkıcı olabilir.)
"upstart" ile başlatılan hizmetler ya bir Olayları işlemek için çalışan zaman programları veya uzun süredir devam eden daemonlardır. Genellikle bu tür programlar için stdin/stdout/stderr mevcut değildir - problemleri rapor etmeleri gerektiğinde ve belirli dosyalardan gelen girdileri okuduklarında dosyaları günlüğe yazarlar. Neden bu normal paradigmanın etrafında çalışmayı denediğimi merak ediyorum - ne çözmeye çalışıyorsun? – sarnold
Bir node.js komut dosyasını, sürekli olarak çalışması gereken, upstart ile bir daemon olarak çalıştırıyorum. Bu betiğin bazen bir yeniden yükleme komutu alması gerekiyor. Ne yazık ki upsatrt, "servercontrol yeniden yükle" gibi sözdizimini desteklemiyor. Bu yüzden stdin'i kullanmayı düşündüm, çünkü 'servercontrol stop & servercontrol' komut dosyasını durduramam. – buschtoens
'reload service' işleminize bir“ SIGHUP ”sinyali gönderecektir; “SIGHUP” sinyali genellikle, yapılandırma dosyaları için yeniden okuma isteğinde bulunmak için ... ... sunucuların kullandığı ... ... bu sizin için çalışacak mı? Yöneticilerin görevinizi diğer tüm işlere benzer şekilde yönetmesi kolay olurdu. – sarnold