Hallo zusammen.
Mir ist aufgefallen, dass wenn ich ein Script starte es heufig mit zwei PIDs im System zufinden ist. pgrep -f scrip.sh gibt mir dann die PID und eine weiter PID welche um +1 grösser ist aus.
woran kann das liegen?
![]() Anmeldungsdatum: Beiträge: 1926 |
Hallo zusammen. Mir ist aufgefallen, dass wenn ich ein Script starte es heufig mit zwei PIDs im System zufinden ist. pgrep -f scrip.sh gibt mir dann die PID und eine weiter PID welche um +1 grösser ist aus. woran kann das liegen? |
||||||
Projektleitung
Anmeldungsdatum: Beiträge: 12712 |
|||||||
![]() Anmeldungsdatum: Beiträge: 2503 |
Ein bisschen schon. Subshells, Pipes und dergleichen verursachen zusätzliche Prozesse – an denen gibt es ja fast keinen Weg vorbei:
Prozessteilbaum: hallo.sh(20107)─┬─cat(20109) └─hallo.sh(20108)───sleep(20212)
In (Das ist dann auch mit ein Grund dafür, weshalb du in solchen Schleifen keine Variablen setzen kannst, die nach der Schleife noch verfügbar sind – sie waren nie im Hauptprozess.) |
||||||
Projektleitung
Anmeldungsdatum: Beiträge: 12712 |
|||||||
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 1926 |
ah. vielen Dank. Ich habe mich immer gewundert, weshalb
nicht funktioniert um ein Script zu stoppen. Ich hatte mal gedacht, dass Kindprozesse immer von den Elternprozessen abhängig sind. Wie töte ich den ganzen Stambaum den ein Script so anlegt? Es kann problematisch sein, wenn die Kindprozesse überleben und einfach weitermachen. Laut man kill muss ich einfach ein minus vor die PID stellen um ein die Gruppe zu killen aber das gibt bei mir nur Fehler aus.
|
||||||
Projektleitung
Anmeldungsdatum: Beiträge: 12712 |
Du kannst es mit
|
||||||
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 1926 |
|||||||
Projektleitung
Anmeldungsdatum: Beiträge: 12712 |
Das hängt davon ab, wie das Skript aussieht. Generell kannst Du mit
Ich würde nicht SIGKILL verwenden, jedenfalls nicht im ersten Versuch. Das nimmt den Prozessen die Möglichkeit aufzuräumen. |
||||||
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 1926 |
Wenn ich das richtig verstanden habe, dann ist der alternative Befehl indem falle SIGTERM und somit:
Von trap habe ich noch nie gehört und finde dazu auch nichts in man. Ich glaub aber ich bleibe lieber bei SIGTERM. |
||||||
Projektleitung
Anmeldungsdatum: Beiträge: 12712 |
|||||||
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 1926 |
Hat weniger damit zu tun als damit, dass das Aufwand/Nutzen Verhältnis in meinem Empfinden wesentlich zu stark Richtung Aufwand tendiert und ich das nicht mit Freude und Neugier kompensieren kann. |
||||||
Anmeldungsdatum: Beiträge: 11109 Wohnort: München |
Falls es dich noch interessiert: |