Skript-Start Prozess abhangig

latux

latux

Grünschnabel
Guten Tag,
ich habe ein skript was von User oder von Admin (root) gestartet werden kann.
Der User startet mit "skript1.sh 111".
skript1 sieht so aus:
....
case "$PRGNR" in
111)
# Screenshot
mysqlconnect
test -x /root/bin/skript2.sh && /root/bin/skript2.sh &
exit 0
;;
*)
......

Root startet direkt mit "skript2.sh"

Meine Ziel ist, wenn Root der skript2.sh startet, soll er die Möglichkeit haben eine Eingabe zu machen, dies aber nicht wenn der User der Skript startet durch skript1.sh.
Ich muss dann in skript2 rausfinden wer gestartet hat.
Geht das über der PID von skript1.sh ?
Ich würde mich auf eure Hilfe freuen.
Mit freundlichen Grüßen
Latux
 
Ich würde vermutlich eine Abfrage in skript2.sh einbauen, von welchem User es aufgerufen wird...

Code:
if test "$UID" == "root"; then
    echo "Abfrage";
    ...
fi
 
Hallo Schlaubi_fi.de,

ist leider nicht so einfach, ich muss noch etwas erklären.
Es handelt sich um ein Linux-Kassensystem. Der User ist dann der Kassierer, er gibt über die "Code"-Taste ein Code mit Attribut (in der Fall lautet der Attribut 111).
Dies startet skript1.sh aber auch als root-prozess.
Ich muss in skript2 rausfinden ob er von skript1 gestartet worden ist. Weiss aber nicht wie...
Gruß

Latux
 
Code:
user=$(ps aux | grep [s]kript1.sh | awk '{print $1}')
if [ "$user" ]; then
  foo
fi

Der Eigentümer von skript1.sh steht in $user. Die if-Schleife wird nur ausgeführt, wenn $user nicht leer ist, also wenn skript1.sh läuft.
 
Zuletzt bearbeitet:
Hallo wieder,
klappt wunderbar, nochmal Danke an alle :D
 
@Schlaubi_fi.de - Unser Shellskript-Lektor hat wieder zugeschlagen. Hast schon Recht. ;)

@latux - Kein Problem...
 

Ähnliche Themen

Skript bei Lubuntu nach jedem Start ausführen

Shell-Skript nicht doppelt starten

Windows clients können nicht mehr auf lange laufendes System zugreifen

Last mit etc/passwd anzeigen lassen

Prozess aus eigenem Init script wird gekillt

Zurück
Oben