Kann mir bitte jemand sagen, wenn ich "Meta-Refresh" wie unten, wird das auch wieder laufen bash program-run-tmp-directory3.sh &> stdout.out &
? ODER, nur der Browser wird aktualisiert, wobei am Leben erhalten bleibt?Meta-Refresh (nur Browser aktualisieren)
"pid" ist die "Prozess-ID" des Programms im Hintergrund ausgeführt.
Wenn dieser Code weiter unten auch das Programm bash program-run-tmp-directory3.sh &> stdout.out &
ausführt. Bitte lassen Sie mich wissen, wie ich es vermeiden kann?
#!/bin/sh
echo "Content-type: text/html"
echo ""
bash program-run-tmp-directory3.sh &> stdout.out &
pid=$!
if [[ `ps -p $pid | wc -l` -gt 1 ]]
then
output="Program is running. Running time depends on the number of alternatively spliced proteins the submitted gene has. Results will be displayed here."
echo "<html>"
echo "<head>"
echo "<meta http-equiv=\"refresh\" content=\"10\"/>"
echo "</head>"
echo "<body>"
echo "<table width=\"750\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"
echo "<tr><td><img src=\"../../images/calc.gif\" align=\"absmiddle\"> <strong> $output </strong></td></tr>"
echo "</table>"
echo "</body>"
echo "</html>"
fi
Danke.
Bitte mehr Anstrengungen bei der Formatierung Code in Frage gestellt. Sie benötigen vier Leerzeichen vor Codezeilen, nicht ein Dutzend davon. –
Ich nehme an, dass Sie Ihren Server so konfiguriert haben, dass er dieses Skript ausführt, wenn er eine Anfrage für eine bestimmte URL erhält. In diesem Fall wird das Skript bei jeder Anforderung einer URL erneut ausgeführt (einschließlich des eingebetteten Aufrufs von 'bash'). Ihre Meta-Aktualisierung fordert den Browser auf, die Seite alle 10 Sekunden erneut abzurufen. Wenn der Browser dies erfordert, werden Sie 'bash' bitten,' program-run-tmp-directory3.sh' alle 10 Sekunden auszuführen. –