Portál AbcLinuxu, 2. listopadu 2025 04:50
ps aux |grep dhcpd
a nasledne killnuti daneho procesu a opetovne spusteni neznam.
Pripada mi to docela neomalene.Neznate lepsi zpusob?
/etc/rc.d/dhcpd restart
když se podíváš do man dhcpd, zjistíš, že restart se provádí posláním sigtermu PID ve /var/run/dhcpd.pid
ostatně nejlépe to pochopíš z příkladu, takže tady je dhcpd daemon z archu
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
PIDFILE="/var/run/dhcpd.pid"
PID=`cat $PIDFILE 2>/dev/null`
case "$1" in
start)
stat_busy "Starting DHCP Server"
if [ "$PID" = "" ]; then
/usr/sbin/dhcpd -q
fi
if [ "$PID" != "" -o $? -gt 0 ]; then
stat_fail
else
add_daemon dhcpd
stat_done
fi
;;
stop)
stat_busy "Stopping DHCP Server"
[ ! -z "$PID" ] && kill $PID &> /dev/null
rm -f $PIDFILE
if [ $? -gt 0 ]; then
stat_fail
else
rm_daemon dhcpd
stat_done
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
Slackware nepoužívám, ale dle Googlu si myslím, že:
/etc/rc.d/rc.inet2 start|stop|restart
Kdyby to tak nebylo, tak pošli grep na init skripty a on už Ti to poví.
SIGTERM zmiňovaný v manuálové stránce to (alespoň mně) nereaguje tak, jak bych očekával a prostě to odumře. Takže možná postup, který nakonec zvolil Arch, jak jej vložil kolega výše (zastavi, spustit) asi bude, i když to nevypadá hezky (restart po signálu mi přijde elegantnější - čistě estetické měřítko :), nejjistější.
Vyjádřeno lapidárně pro ty, co se s tím nechtějí mazat: killall dhcpd; dhcpd (možná mezi ně pro jistotu ještě vrazit ten sleep.
Pokud není změněno místo pro soubor s pid, bylo by možná malinko hezčí provést místo killall dhcpd tohle: kill `cat /var/run/dhcpd.pid`.
A kde se pouští při startu systému? Neříkej, že to děláš ručně? Jestli jo, tak si udělej svůj skript na start|stop|restart např. podle návodu.
dhcpd
to mi nejak nevadi,ale pridavas-li denne 0-15 lidi tak je to oprus.
SIGTERM (který se mi ovšem také nechce chovat mravně, takže je to asi jedno):
Note: We get a lot of complaints about this. We realize that it would be nice if one could send a SIGHUP to the server and have it reload the database. This is not technically impossible, but it would require a great deal of work, our resources are extremely limited, and they can be better spent elsewhere. So please don't complain about this on the mailing list unless you're prepared to fund a project to implement this feature, or prepared to do it yourself.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.