GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Auf Prozess prüfen, wenn dieser läuft?

Gibt es ein Skript oder eine Möglichkeit in Linux, dass, wenn ich versuche, ein Shell-Skript / einen Shell-Prozess auszuführen, wenn dasselbe ausgeführt wird, es dazu auffordert, dass dasselbe ausgeführt wird, und beendet wird, andernfalls wird es fortgesetzt.

Akzeptierte Antwort:

Sie können diesen einen Liner verwenden, um zu tun, was Sie wollen:

$ pgrep script.bash && echo "already running" || ( ./script.bash & )

Beispiel

Angenommen, ich hätte dieses Skript:

$ cat script.bash 
#!/bin/bash

echo "Hello World"
sleep 10

Wenn wir unseren Einzeiler verwenden:

$ pgrep script.bash && echo "already running" || ( ./script.bash & )
Hello World
$

Wir führen es erneut aus:

$ pgrep script.bash && echo "already running" || ( ./script.bash & )
10197
already running
$

10 Sekunden warten und erneut ausführen, es funktioniert wieder:

$ pgrep script.bash && echo "already running" || ( ./script.bash & )
Hello World
$

Linux
  1. Umgebung eines laufenden Prozesses ändern?

  2. Überprüfen Sie, ob der Prozess Mac OS X ausführt, und führen Sie dann den Code aus?

  3. Datenbank auf Beschädigung prüfen

  4. Wie kann ich mit Python unter Linux überprüfen, ob ein Prozess noch läuft?

  5. Überprüfen Sie das offene FD-Limit für einen bestimmten Prozess in Linux

Bash für Schleife

Bash-Scripting-Tutorial für Anfänger

Bash Heredoc-Tutorial für Anfänger

Laufende Prozesse

Wie überprüfe ich die Syntax eines Bash-Skripts, ohne es auszuführen?

So überprüfen Sie die Heap-Größe für einen Prozess unter Linux