2016-03-18 4 views
0

Hallo Ich habe auf dem Forum gesucht, aber ich kann nicht scheinen, das richtig zu bekommen. Ich versuche ein Skript zu erstellen, das den Benutzer fragt, nach welchem ​​Prozess er sucht, und dann mit einer 1 zurückkehrt, wenn der Prozess läuft.lesen Variablen in PS ax Skript

Dies funktioniert:

#!/bin/bash 
SERVICE='httpd' 
if ps ax | grep -v grep | grep $SERVICE > /dev/null 
then 
echo "$SERVICE service running, everything is fine" 
else 
echo "$SERVICE is not running" 
fi 

ich das Skript hinzufügen möchten:

echo -e "please enter process name: \c" 
read word 

für so etwas wie:

#!/bin/sh 
echo -e "please enter process name: \c" 
read input_variable 
if ps ax | grep -v grep | grep $varname > /dev/null 
then 
echo "$SERVICE service running, everything is fine" 
else 
echo "$SERVICE is not running" 
fi 

Antwort

1

Verwenden pgrep für Prozesse suchen:

read process_name 
if pgrep "${process_name}" >/dev/null 2>&1 ; then 
    "echo ${process_name} found" 
else 
    "echo ${process_name} not found" 
fi 
+0

Cooler Dank ging es mit den "" auf den Linien 5 und 7 zu gehen – nycjay01