Ich habe seit ein paar Tagen das Problem,das Asterisk nur dann startet wenn ich Asterisk
manuell auf dem Server starte.Schliesse ich die Konsole ist kein Anmelden der Clients
mehr moeglich.
Hallo
Was ist es den genau für ein Konsole und wie beendest du diese?
Kann es sein, dass du Asterisk vielleicht z.B. sogar über SSH startest?
Achtung, dann ist Asterisk abhängig von sshd und der Konsole.
Kleine Darstellung von den Abhängigkeiten, wenn du ihn über
eine SSH-Konsole starten würdest:
[...]
|-sshd---sshd-+-bash---asterisk---26*[{asterisk}]
[...]
Wenn du in diesem Fall die Bash oder sshd beendest,
schisst du auch Asterisk ab, denn Asterisk ist in diesem Fall
ein Kindprozess von sshd und der Bash.
Du kannst ihn z.B. über eine Login-Shell starten,
dass sieht dann so aus:
[...]
|-login---bash---asterisk---23*[{asterisk}]
[...]
und anschliessend über SSH einfach eine Verbindung mit
asterisk -r zum Asterisk aufbauen.
Diese schöne Übersicht der Prozesse erhälst du übrigens
mit dem Befehl
pstree
Falls der Befehl nicht geht, fehlt dir das Paket
psmisc
Was du auch machen kannst ist, an die letzte Zeile von der Datei
/etc/inittab folgendes hinein zu schreiben:
Code:
ax:2345:respawn:/usr/sbin/asterisk -vvvvvvvvvvvcf
So startet er automatisch in allen Runlevels und kann gar nicht
mehr beendet werden.
Wenn du ihn manuell mit dem Befehl stop now beenden möchtest wird er so jedoch auch nicht mehr beendet.
Bzw. sofort automatisch wieder gestartet.
Vielleicht kannst du ihn auch mit dem Befehl
nohup starten.
nohup asterisk -c &
nohup sorgt dafür, dass Asterisk von keinem anderen Prozess
abhängig ist und reiht ihn dem Hauptprozess
init unter.
init ist der Hauptprozess eines Linux Systems
Das habe ich jedoch mit Asterisk noch nie getestet.
Gruss Stäubel