Schreiben Sie ein Skript, das dies tut:
#!/bin/bash trap 'echo hup' hup trap 'echo int' int trap 'echo quit' quit trap 'echo abrt' abrt trap 'echo kill' kill trap 'echo usr1' usr1 trap 'echo usr2' usr2 trap 'echo term' term trap 'echo chld' chld trap 'echo cont' cont trap 'echo stop' stop trap 'echo tstp' tstp trap 'echo ttin' ttin trap 'echo ttou' ttou shopt huponexit sleep 10 echo $(date) process $$ done
Schreiben Sie ein zweites Skript, das dies tut : > nohup.out; nohup firstscript& echo sleeping; sleep 10
. Führen Sie das zweite Skript aus, warten Sie ein oder zwei Sekunden und schließen Sie dann Ihr PuTTY-Terminal. Öffnen Sie ein neues PuTTY-Terminal und überprüfen Sie die Datei nohup.out. Es sollte Ihnen sagen, welches Signal das erste Skript erhalten hat, durch das es angehalten wurde. Das hilft Ihnen, herauszufinden, wie Sie vorgehen müssen. Sie könnten versuchen, trap '' THEGUILTYSIGNAL
eine Sache zu tun.
Es sollte auch den Huponexit-Wert angeben. Wenn dies aktiviert ist, können Sie damit experimentieren shopt -u huponexit
und sehen, ob dies die Sache verbessert. (Verbesserung = Sie können das zweite Skript ausführen und dann Ihr PuTTY-Terminal schließen, das erste Skript wird jedoch noch vollständig ausgeführt.)