Mailinglisten-Archive |
hi, > da ja bei fast allen Providern PHP als CGI laeuft, > mache ich sehr viel auch auf der Konsole mit PHP. > > Aber nun habe ich ein Problem: > Wie kann man ein Script auf der Konsole anhalten ? > ^C geht da nicht wirklich: > - das Script wird zwar terminiert, aber alle Buffer > sind futsch. Es waere jedoch sinnvoll, wenn die > erst noch auf Platte geschrieben werden. > > Es muss doch moeglich sein, einem laufenden Script > eine Tastatureingabe zu senden - oder doch nicht ? Das ist nicht so ganz trivial. Wenn Du CTRL-C drückst, schickst Du dem Programm ein Signal namens SIGINT (für "Signal Interrupt"). Das einfachste wäre, dieses Signal abzufangen und dort deinen Code für den Buffer-to-Disk hineinzutun. Damit das funktioniert muss PHP aber mit PCNTL (Process Control) compiliert sein - und das ist es in den seltensten Fällen (macht im Einsatz für's Web auch keinen Sinn): http://www.php.net/manual/en/ref.pcntl.php Du kannst doch in deinem Script einfach öfters auf Disk schreiben, dann müsste das Problem doch auch gelöst sein, oder? -daniel
php::bar PHP Wiki - Listenarchive