Sie benötigen ein Echo hinzufügen
make_something_run.sh & echo $! > /var/run/someting.pid
^
http://www.odi.ch/weblog/posting.php?posting=291
EDIT:
su -s /bin/bash -c "$/$.sh & echo \$! > /var/run/red5.pid" $RED5_USER
oder
https://stackoverflow.com/questions/6197165/getting-a-pid-from-a -background-process-run-as-another-user
Red5 unter Debian, geben Sie PID aus
534
milks
Ich fummle mit diesem durch, als Neuling mit allen Sachen Linux also bitte Geduld :)
Ich möchte die Prozess-ID eines Programms in eine Datei ausgeben. Aus meinen Lesungen wird dies im Allgemeinen durch eine spezielle pling-Variable erreicht, die von linux beibehalten wird:
make_something_run.sh & echo $! > /var/run/someting.pid
Wenn ich jedoch versuche, dies in meinem Startskript für red5 anzuwenden, wird die PID-Datei erfolgreich erstellt, es wird jedoch keine ID gefunden. Dies ist das spezifische Skript:
start) echo -n "Starting Red5" echo -n " " cd $RED5_HOME su -s /bin/bash -c "$RED5_HOME/$RED5_PROG.sh &" $RED5_USER echo "$RED5_HOME/$RED5_PROG.sh &" ## su -s /bin/bash -c "$RED5_HOME/$RED5_PROG.sh > start.log &" $RED5_USER echo $! > /var/run/red5.pid wait $! sleep 2 ;;
Ich habe es mit und ohne wait $!
(das glaube ich wartet, bis der Prozess startet, bevor die Datei geschrieben wird?) Ohne Erfolg versucht . Meine einzigen anderen Gedanken sind, etwas Besonderes mit grep und ps aux zu tun, um die Zahl zu extrahieren.
1 Antwort auf die Frage
2
Diblo Dk
Vielen Dank für die Antwort, ich habe den Beitrag so bearbeitet, dass er das weggelassene Echo in meinem Beispiel enthält. Es ist jedoch weiter unten in meinem Beitrag im Skript, mit dem ich Probleme habe, also nicht die Lösung für mein Problem
milks vor 11 Jahren
0
Kannst du es mit su -s / bin / bash -c "$ / $ .sh &" $ RED5_USER "versuchen? Ich habe einen Echo-Test gesehen, aber es ist normal, {} zu verwenden, wenn es sein muss Setze die Variable zusammen mit dem Text
Diblo Dk vor 11 Jahren
0
Sie müssen mich entschuldigen, aber ich bin ein bisschen verrostet auf sh und bash. Aber ich kann auch sehen, dass es ein Problem gibt, wenn Sie `bash 'in` su` verwenden. Versuchen Sie es auch mit `su -s / bin / bash -c" $ / $ .sh & echo $!> /Var/run/red5.pid "$ RED5_USER"
Diblo Dk vor 11 Jahren
1
Ja, das ist Ihr Problem http://stackoverflow.com/questions/6197165/getting-a-pid-from-a-background-process-run-as-another-user Ich sehe nur, dass diese Frage gestellt werden muss stackoverflow.com
Diblo Dk vor 11 Jahren
0
Das sieht kompliziert aus! Danke für Ihre Bemühungen, ich werde sehen, wie es mir geht
milks vor 11 Jahren
0
@DibloDk: Dein letzter Befehl ist fast richtig, ändere in `su -s / bin / bash -c '$ / $ .sh & echo $! > /var/run/red5.pid "$ RED5_USER". Beachten Sie die einfachen Anführungszeichen, andernfalls wird das "$!" Bereits vor der Befehlsausführung erweitert und führt daher zu einer falschen PID.
mpy vor 11 Jahren
0
war gerade dabei, ähnlich zu posten, am Ende habe ich es geschafft, indem ich dem $ entging! var: `su -s / bin / bash -c" $ / $ .sh> start.log & echo \ $!> /var/run/red5.pid "$ RED5_USER"
milks vor 11 Jahren
2
Oh ja, sry :-)
Diblo Dk vor 11 Jahren
0
@milks: Ich wollte nur meinen Kommentar korrigieren: Du hast absolut recht. Sie müssen dies über escaping_ tun, andernfalls wird $ nicht erweitert ... (Ich habe einen zu trivialen Befehl verwendet, um `;)` zu testen.
mpy vor 11 Jahren
0
@DibloDk: Erwägen Sie bitte, Ihre Antwort zu erweitern, so dass die Lösung für `su ... '(dh die ursprüngliche Frage) direkt darin ist. Dann müssen einige spätere Besucher nicht durch die Kommentare `:)` graben
mpy vor 11 Jahren
0
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem
-
6
Vollbild-Flash langsam in KDE 4