So stoppen Sie einen Hintergrundprozess in einem laufenden Shell-Skript
P粉722409996
2023-09-03 18:16:08
<p>Ich versuche, mysqld im Hintergrund auszuführen, um einige Befehle mit dem MySQL-Client auszuführen, aber wenn ich den Prozess in den Vordergrund schalte, stoppt die Ausführung meines Skripts. Dies ist das Skript, das ich verwende: </p>
<pre class="brush:sh;toolbar:false;">set -m
daemon="/usr/bin/mysqld --user=mysql --console --skip-name-resolve --skip-networking=0 $@"
$daemon &
exec echo „Test“
exec fg %1
</pre>
<p>Ich bin kein Experte für Shell-Skript-Programmierung. Ich habe auf einigen Websites nach dieser Methode zum Ausführen von Befehlen gesucht. </p>
不。脚本在
exec echo "Test"
后停止。exec
用后面的命令替换当前进程(即shell脚本)。您可以通过以下方式进行验证:解决方案很简单:不要使用
exec
。顺便说一下:不清楚为什么您想在shell脚本中使用
fg
。在交互式shell中,fg
只在脚本中没有功能。