Am Montag 16 Juni 2008 schrieb Sebastian Harl: > Heyho Liste ;-) Hi! > Das erfordert jedoch den Aufruf von zwei Kommandos und, schlimmer, die > Kenntnis der PID oder der Job-ID des im Hintergrund gestarteten > Prozesses, was eine Automatisierung unnoetig erschwert. Aber zum Glueck > bietet zsh eine Moeglichkeit, diese beiden Schritte in einem Schritt > durchzufuehren: > > % &! > > Mir gefaellt das recht gut und ich hoffe, dass es fuer den einen oder > anderen auch hilfreich und neu war ;-) Na endlich das Aquivalent von Run NIL: unter AmigaOS. Das suche ich schon seit Ewigkeiten! Schankedön... Und wie geht das Shell unabhängig? Ich hab diverse Experimente hinter mir. Sogar das disown war da schon mit dabei, das übrigens auch in bash funktioniert. Nicht jedoch in: martin@shambala:~ -> ls -l /bin/sh lrwxrwxrwx 1 root root 4 2008-02-13 09:36 /bin/sh -> dash Hier meine Versuche, eine mittlerweile ausgetauschte, ausgeleierte CMOS-Batterie in meinem T23 ThinkPad zu kompensieren - eigentlich "deepdance" aber mein T42 "shambala" hat die gleiche Konfiguration übernommen: --------------------------------------------------------------------- shambala> cat /etc/network/if-up.d/chrony #!/bin/sh # Start chrony stuff in at least one minute, lets see whether that works, 26.6.2006 at -f /etc/chrony/network-up.sh now #nohup /etc/chrony/network-up.sh #/etc/chrony/network-up.sh &1 >/dev/null & #disown #screen /etc/chrony/network-up.sh --------------------------------------------------------------------- --------------------------------------------------------------------- shambala> cat /etc/chrony/network-up.sh #!/bin/sh # This script tells chronyd that the connection is up so that it can # contact the server. John Hasler 1998-2003 # Any possessor of a copy of this program may treat it as if it # were in the public domain. I waive all rights. # Debugging? #set -x # Wait a bit till the DSL router likely built up an internet connection sleep 120 # Put a hint in the log file that we are running logger "/etc/chrony/network-up.sh: restarting chrony, put it online and do some rapid measurements..." # Make sure that chrony does DNS lookups, 25.6.2006, martin # Should better wait till pool.ntp.org can be accessed! # but for now I tell at to defer it about a minute, 25.6.2006, martin /etc/init.d/chrony restart >/dev/null # Otherwise chronyc will hang ;(, oh man this is sucking so extremely, 26.6.2006, martin sleep 5 # Copied from /etc/ppp/ip-up.d/chrony, just modified the /var/run filename, 25.6.2006, martin /bin/pidof chronyd > /dev/null || exit 0 KEY=$(awk '$1 ~ /^commandkey$/ { print $2; exit}' /etc/chrony/chrony.conf) PASSWORD=`awk '$1 ~ /^'$KEY'$/ {print $2; exit}' /etc/chrony/chrony.keys` /usr/bin/chronyc > /dev/null << EOF password $PASSWORD online EOF touch /var/run/chrony-eth0-up exit 0 --------------------------------------------------------------------- Und ja, das *ist* ein Hack... und zwar noch nicht einmal ein korrekter... es würde auch bei eth1 triggern und dann das falsche run-File touchen ;). Und ja, es funktionierte ausschließlich mit at! Auch, weil ich disown nicht verstanden hatte. Da es für mein T23 funktionierte und auf meinem T42 bislang nicht störte, habe ich das nie mehr angefasst. Ich glaube, es gibt jetzt auch eine Version von Chrony, die bezüglich der DNS-Geschichte ein Update hat oder zumindest ein Perl-Skript, um diese Ich-frage-den-DNS-Server-auch-noch- einmal-wenn-es-beim-ersten-Mal-nicht-hinhaut-Geschichte zu bauen. Ich könnte natürlich entweder den Hack entfernen oder &! verwenden und /usr/bin/zsh oben rein schreiben ;-). Ciao, -- Martin 'Helios' Steigerwald - http://www.Lichtvoll.de GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7