Upstart servisi hiçbir zaman tamamen başlamaz veya durmaz


11

Teamspeak sunucu için basit bir uptart komut dosyası yapmaya çalışıyorum, ancak çalıştıramazsınız.

Ben initctl start dediğimde sadece yürütür ama asla bitmez veya herhangi bir mesaj yayar. Aynı şey durmak için de oluyor .

Yanlış bir şey yapmadığımdan emin olmak için, cron betiğini kopyaladım ve çalıştırmayı denedim, ama aynı şey oluyor.

burada neyi yanlış yapıyorum?

GÜNCELLEME:

TS3 için senaryom:

# myservice - myservice job file
description "my service description"
author "Me <myself@i.com>"

# Stanzas
#
# Stanzas control when and how a process is started and stopped
# See a list of stanzas here: http://upstart.ubuntu.com/wiki/Stanzas#respawn

# When to start the service
start on runlevel [2345]

# When to stop the service
stop on runlevel [016]

# Automatically restart process if crashed
respawn

# Essentially lets upstart know the process will detach itself to the background
expect fork

# Start the process
script
       emit going into TS3 dir
       chdir /home/danizmax/teamspeak3-server_linux-x86/
       emit starting TS3
       exec su -c "/home/danizmax/teamspeak3-server_linux-x86/ts3server_startscript.sh start" danizmax &
       emit done
end script

En basit komut dosyasıyla bile denedim ve bu da çalışmıyor:

description     "regular background program processing daemon"

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

expect fork
respawn

exec echo example
console output

Yardımın için teşekkürler.


Hata ayıklayabilmemiz için çalıştırmaya çalıştığınız uptart işini göstermek isteyebilirsiniz? Görmeden neden asıldığını bilmek zor.
slangasek

Cron betiğini kopyaladım ve çalıştırmayı denedim ve aynı oluyor, sadece duruyor ve asla kabuğa
dönmüyor

Hala uptart betiğinizi görmemiz gerekiyor. Onsuz, yapabileceğimiz hiçbir şey yok. Lütfen gönderin veya bize bir bağlantı sağlayın.
hggdh

Senaryoyu görmeden, yapabileceğim tek şey tahmin: Senaryonuzun start-up ile root olarak çalıştığını umuyor mu? Kökün PATH'ı farklıdır. Komut dosyanız kök PATH'de olmayan bir uygulamayı kullanmak istiyorsa, tam yolu belirtmeniz gerekir. Senaryonuzda geri dönmeyen bir program var mı?
waltinator

Yanıtlar:


1

uptart işinizde başımı çizmemi sağlayan bazı tuhaflıklar var.

1) emit bildiğim bir program değil, bu yüzden sistem yoluna eklemediyseniz, bu muhtemelen hatalara neden olur. Şunu mu demek istedin 'echo'? Görünmeyen sistem konsoluna gideceği için bu da yardımcı olmayabilir.

2) 'Emit' stanza'nın işe yaradığı varsayılarak, “çatal bekliyoruz” deyin, ama aslında iki kez çatallayın . Bir kez 'script' için, ve sonra tekrar ekip konuşması script arka plan kendini çatalladığında.

3) sen komut dosyasını çalıştırmak için "su", ancak start-stop-daemon aslında çoğu durumda daha basittir:

11.10 ile, chdirsenaryonun herhangi bir sürümünden sonra eklenip eklenmediğinden emin değilsiniz, komut dosyasını yapmanız gerekmez. Kontrol man 5 initsözcüğüchdir

start on runlevel [2345]
stop on runlevel [^2345]

respawn

chdir /home/danizmax/teamspeak-server
expect fork

exec start-stop-daemon --start --user danizmax --group danizmax --exec /home/danizmax/teamspeak3-server_linux-x86/ts3server_startscript.sh -- start

Ayrıca, hatalar muhtemelen / var / log / syslog içinde rapor edilecektir. Çalıştırarak hata seviyesini biraz artırabilirsiniz.

initctl log-priority info

man initctl daha fazla günlük seviyesi için.


OP değil, ama sunucuyu kullanıcı olarak yürütmek için (danimaz) su kullanıyor, root olmak için değil.
Javier Rivera

Hah doh, alttaki kaydırma çubuğunu kaçırdı .. kullanıcı adını gizlemek için mükemmel hizalanmış. :-P
SpamapS
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.