Hintergrundstart und sudo PW Abfrage in SH Datei
-
- Beiträge: 7
- Registriert: 23.02.2019 22:24:36
Hintergrundstart und sudo PW Abfrage in SH Datei
Hallo,
ich möchte gerne in einem Script das starten im Hintergrund einbinden, sowohl auch die sudo PW Abfrage.
Das Script starten im Hintergrund geht ja mit dem Kaufmannsund.
Wie kann ich dies im Script einbauen?
Mein Script MathServer.sh
#!/bin/bash
cd /mobile/Prosys-OPC-new
until [ 1 -ne 1 ]
do
echo "Restart"
_now=$(date +"%y%m%d%H%M%S")
java -classpath build/classes:dist/lib/'*' com/prosysopc/ua/samples/MathServer > /var/log/prosys-opc-new/MathServer_$_now.log
# end with ctrl-c (returns 130)
test $? -gt 128 && break
sleep 1m
done
Ausserdem will ich mit einer Desktopdatei das Script starten.
Wie geht das bei Debian?
Wie muss die Desktopdatei konfiguriert werden?
Danke schon mal
ich möchte gerne in einem Script das starten im Hintergrund einbinden, sowohl auch die sudo PW Abfrage.
Das Script starten im Hintergrund geht ja mit dem Kaufmannsund.
Wie kann ich dies im Script einbauen?
Mein Script MathServer.sh
#!/bin/bash
cd /mobile/Prosys-OPC-new
until [ 1 -ne 1 ]
do
echo "Restart"
_now=$(date +"%y%m%d%H%M%S")
java -classpath build/classes:dist/lib/'*' com/prosysopc/ua/samples/MathServer > /var/log/prosys-opc-new/MathServer_$_now.log
# end with ctrl-c (returns 130)
test $? -gt 128 && break
sleep 1m
done
Ausserdem will ich mit einer Desktopdatei das Script starten.
Wie geht das bei Debian?
Wie muss die Desktopdatei konfiguriert werden?
Danke schon mal
Re: Hintergrundstart und sudo PW Abfrage in SH Datei
Bitte lies Dir https://wiki.ubuntuusers.de/.desktop-Dateien/ durch.
Ich habe noch keinen Unterschied bei Desktopdateien zwischen Debian und Ubuntu gefunden.
Gruß
bullgard
Ich habe noch keinen Unterschied bei Desktopdateien zwischen Debian und Ubuntu gefunden.
Gruß
bullgard
-
- Beiträge: 7
- Registriert: 23.02.2019 22:24:36
Re: Hintergrundstart und sudo PW Abfrage in SH Datei
Okay danke werde
mich mal durcharbeiten
mich mal durcharbeiten
Re: Hintergrundstart und sudo PW Abfrage in SH Datei
Man kann alles (außer der Interpreterzeile Shebang) in den Hintergrund setzen:Sirdonculotte hat geschrieben:23.02.2019 23:08:33ich möchte gerne in einem Script das starten im Hintergrund einbinden, [...].
Das Script starten im Hintergrund geht ja mit dem Kaufmannsund.
Wie kann ich dies im Script einbauen?
Code: Alles auswählen
#!/bin/bash
{ cd...
...
done } &
In Kombination geht das natürlich nicht - die Abfrage muss im Vordergrund sein. Würde sich dann vielleicht anbieten, für die sudo-Abfrage das Skript in den Vordergrund zurückzuholen. Sinngemäß etwa sowas:sowohl auch die sudo PW Abfrage
Code: Alles auswählen
#!/bin/bash
{ cd...
while
done } &
wait $!
sudo
while
done &
Re: Hintergrundstart und sudo PW Abfrage in SH Datei
Vielleicht verstehe ich dein Script auch nicht. Aber wo ist denn die sudo-Passwortabfrage? Und selbst wenn sie irgendwo ist, warum gibt es die überhaupt. Du kannst und solltest vielleicht sudo so konfiugieren, dass ausgewählte Benutzer den sudo-Befehl ohne Eingabe eines Passwortes ausführen dürfen. Das ist bei restriktiven Befehlen auch kein Sicherheitsrisiko. Eigentlich ist es sogar so gewollt.
Frei nach https://wiki.ubuntuusers.de/sudo/Konfiguration/:
Frei nach https://wiki.ubuntuusers.de/sudo/Konfiguration/:
username ALL = NOPASSWD: /usr/sbin/IRGENDEINSKRIPT
-
- Beiträge: 7
- Registriert: 23.02.2019 22:24:36
Re: Hintergrundstart und sudo PW Abfrage in SH Datei
Super hat geklappt, danketobo hat geschrieben:25.02.2019 23:49:10Man kann alles (außer der Interpreterzeile Shebang) in den Hintergrund setzen:Sirdonculotte hat geschrieben:23.02.2019 23:08:33ich möchte gerne in einem Script das starten im Hintergrund einbinden, [...].
Das Script starten im Hintergrund geht ja mit dem Kaufmannsund.
Wie kann ich dies im Script einbauen?Code: Alles auswählen
#!/bin/bash { cd... ... done } &
In Kombination geht das natürlich nicht - die Abfrage muss im Vordergrund sein. Würde sich dann vielleicht anbieten, für die sudo-Abfrage das Skript in den Vordergrund zurückzuholen. Sinngemäß etwa sowas:sowohl auch die sudo PW AbfrageSetzt mehrere Befehle mit {}& in den Hintergrund und wartet dann mit wait auf das Abarbeiten des letzten Kindprozesses. { und } sind Schlüsselwörter für die Shell, deswegen sind die Leerzeichen bzw. Zeilenumbruch oder ; wichtig. $! - beim wait - könnte man auch weglassen; dann wird auf alle Kindprozesse gewartet. Danach sudo im Vordergrund, dann die Schleife wieder im Hintergrund. So eine Schleife ist nur ein Kommando, muss man also nicht {}-Klammern. Kann man aber, insbesondere, wenn davor oder danach oder ersatzweise noch andere Befehle stehen.Code: Alles auswählen
#!/bin/bash { cd... while done } & wait $! sudo while done &
-
- Beiträge: 7
- Registriert: 23.02.2019 22:24:36
Re: Hintergrundstart und sudo PW Abfrage in SH Datei
Da hast Du recht, ich habe das sudo weggelassen, dankeuname hat geschrieben:26.02.2019 09:14:52Vielleicht verstehe ich dein Script auch nicht. Aber wo ist denn die sudo-Passwortabfrage? Und selbst wenn sie irgendwo ist, warum gibt es die überhaupt. Du kannst und solltest vielleicht sudo so konfiugieren, dass ausgewählte Benutzer den sudo-Befehl ohne Eingabe eines Passwortes ausführen dürfen. Das ist bei restriktiven Befehlen auch kein Sicherheitsrisiko. Eigentlich ist es sogar so gewollt.
Frei nach https://wiki.ubuntuusers.de/sudo/Konfiguration/:username ALL = NOPASSWD: /usr/sbin/IRGENDEINSKRIPT
-
- Beiträge: 7
- Registriert: 23.02.2019 22:24:36
Re: Hintergrundstart und sudo PW Abfrage in SH Datei
Ich habe noch ein kniffliges Problem,
ich möchte das mein Script über eine Desktop Datei startet mit lxterminal und Ausgabe.
Wünschenswert ist es wenn ich das Terminal zumache, das Script weiterläuft, das tut es nicht, obwohl es im Script programmiert ist.
Vielen Dank schon mal im Voraus
Meine Desktopdatei:
[Desktop Entry]
Name=MathOn.desktop
Comment=Startet Math
Exec=lxterminal --command="/bin/bash --init-file /mobile/Prosys-OPC-new/MathServer.sh"
Icon=/usr/share/icons/gnome/8x8/emblems/emblem-new.png
Version=1.0
Type=Application
Terminal=false
StartupNotify=true
Meine Scriptdatei
#!/bin/bash
#Geht in ein Vezeichnis
{cd /mobile/Prosys-OPC-new
until [ 1 -ne 1 ]
do
echo "Restart"
_now=$(date +"%y%m%d%H%M%S")
java -classpath build/classes:dist/lib/'*' com/prosysopc/ua/samples/MathServer > /var/log/prosys-opc-new/MathServer_$_now.log
# end with ctrl-c (returns 130)
test $? -gt 128 && break
sleep 1m
done} &
ich möchte das mein Script über eine Desktop Datei startet mit lxterminal und Ausgabe.
Wünschenswert ist es wenn ich das Terminal zumache, das Script weiterläuft, das tut es nicht, obwohl es im Script programmiert ist.
Vielen Dank schon mal im Voraus
Meine Desktopdatei:
[Desktop Entry]
Name=MathOn.desktop
Comment=Startet Math
Exec=lxterminal --command="/bin/bash --init-file /mobile/Prosys-OPC-new/MathServer.sh"
Icon=/usr/share/icons/gnome/8x8/emblems/emblem-new.png
Version=1.0
Type=Application
Terminal=false
StartupNotify=true
Meine Scriptdatei
#!/bin/bash
#Geht in ein Vezeichnis
{cd /mobile/Prosys-OPC-new
until [ 1 -ne 1 ]
do
echo "Restart"
_now=$(date +"%y%m%d%H%M%S")
java -classpath build/classes:dist/lib/'*' com/prosysopc/ua/samples/MathServer > /var/log/prosys-opc-new/MathServer_$_now.log
# end with ctrl-c (returns 130)
test $? -gt 128 && break
sleep 1m
done} &
Re: Hintergrundstart und sudo PW Abfrage in SH Datei
Es ist wahrscheinlich schlau, wenn Du mit Deinem »kniffligen Problem« hier in diesem Forum einen neuen Diskussionsfaden eröffnest. Hier in diesem aktuellen Diskussionsfaden wird er wahrscheinlich weniger Beachtung finden.
Gruß
bullgard
Gruß
bullgard
-
- Beiträge: 7
- Registriert: 23.02.2019 22:24:36
Re: Hintergrundstart und sudo PW Abfrage in SH Datei
ja, danke, ist mir auch schon durch den Kopf gegangen
Re: Hintergrundstart und sudo PW Abfrage in SH Datei
Ich glaube nicht, dass dein Skript - so wie es hier steht - überhaupt läuft!? Schließlich brauchen { und } Leerzeichen oder Zeilenumbrüche um sich herum. Das ist ja dann also eher Pseudocode, der hier steht.Sirdonculotte hat geschrieben:08.03.2019 13:17:00Wünschenswert ist es wenn ich das Terminal zumache, das Script weiterläuft, das tut es nicht, obwohl es im Script programmiert ist.
Eigentlich sollte ein Aufruf in der Form
Code: Alles auswählen
#!/bin/bash
{ cd ...
...
done } &
Ich würde mir an deiner Stelle erstmal so ein vereinfachtes Skript nehmen
Code: Alles auswählen
#!/bin/bash
{ while true; do
sleep 1
done } &
Den Wert von huponexit erfragst/setzt du mit:
Code: Alles auswählen
$ shopt huponexit ##erfragen
$ shopt -s huponexit ##aktivieren
$ shopt -u huponexit ##deaktivieren
$ export BASHOPTS ##weiterreichen an aufgerufenes Skript
Code: Alles auswählen
$ nohup script.sh &
Code: Alles auswählen
#!/bin/bash
trap '' HUP
{ while true; do
sleep 1
done } &
-
- Beiträge: 7
- Registriert: 23.02.2019 22:24:36
Re: Hintergrundstart und sudo PW Abfrage in SH Datei
Super danke endlich gelöst.
im Script habe ich den Hintergrundstartstart rausgenommen, und das Trap HUP eingebaut,
Im Starter dann mit dem & gestartet, Terminal startet, Programm startet, und wenn ich Terminal dann schliesse läuft es auch weiter.
Vielen vielen Dank
im Script habe ich den Hintergrundstartstart rausgenommen, und das Trap HUP eingebaut,
Im Starter dann mit dem & gestartet, Terminal startet, Programm startet, und wenn ich Terminal dann schliesse läuft es auch weiter.
Vielen vielen Dank