Ich versuche, es so zu tun:Shell-Skript. Wie Java-Prozess zu töten und es dann wieder von vorne anfangen mit nohup
file_name=$1
#Clear log file
echo > nohup.out
for PID in $(ps aux | grep service_name | awk {'print $2'}); do
kill -9 $PID;
done
echo "Killed old process"
nohup java -Xms256m -Xmx256m -XX:MaxMetaspaceSize=256m -jar $file_name &
echo "Started new process"
Aber es ist nur das Drucken „getötet“ und es nicht wieder von vorn anfangen. Wenn ich separat all diese Dinge zu tun - es funktioniert, aber für alle zusammen - nicht ...
Допоможіть хто зможе ...
Wie wäre es mit 'fgrep' /' grep -F für feste Strings? https://www.gnu.org/software/grep/manual/grep.html#grep-Programs –
@Johannes, geht es darum, einen String von der 'ps'-Ausgabe zu entfernen, ohne grep den grep selbst - wenn du' grep "service_ [n] ame" 'dann wird in der Ausgabe der ps' grep service_ [n] ame' sein und das wird ** nicht ** von der regex service_ [n] ame gematcht, also hast du _only_ alle anderen Prozesse mit service_name –
Holly Kuh, Sie haben Recht! Vielen Dank!! – SoulCub