Priorität für Daemon per rc.d Startupskript

ogig

Musik Freak
Hallo,

ich hab im Forum gesucht aber nix zu dem Theman gefunden. Ich will dass ein daemon (musicpd) mit erhöhter Priorität läuft (nice). Momentan lasse ich einen cron-Job mit renice auf den User laufen, was aber nur ne Notlösung ist. Am liebsten wär mir eine Anpassung der Priorität per rc.d Skript. Das ist aber mit rc.subr geschrieben und da seh ich nicht durch.

Weiss einer von euch wie man das dort einbauen kann ?
 
MrFixit schrieb:
Ersetze 'cmd' mit 'nice cmd' im Skript. Also ehrlich...

Soweit war ich auch schon. So einfach isses aber doch nicht, auch auf die Gefahr hin dass ich mich dumm anstelle. Folgendermassen sieht das Skript aus mit mir eingefügten nice Befehl:

Code:
#!/bin/sh

. /usr/local/etc/rc.subr
 
name=musicpd  rcvar=`set_rcvar`
config=/usr/local/etc/mpd.conf
command="/usr/bin/nice -n -10 /usr/local/bin/mpd"
required_files=$config
musicpd_flags="$musicpd_flags $config"
[ -z "$musicpd_enable" ] && musicpd_enable="NO"
[ -z "$musicpd_flags" ]  && musicpd_flags=    

load_rc_config $name
run_rc_command "$1"

Von der Shell aus funktioniert das prima, aber nicht im Skript.

Code:
10# /usr/local/etc/rc.d/musicpd.sh start
/usr/local/etc/rc.d/musicpd.sh: WARNING: $command_interpreter -n !=ELF
[: /usr/bin/nice: unexpected operator
Starting musicpd.

Code:
10# /usr/local/etc/rc.d/musicpd.sh restart
/usr/local/etc/rc.d/musicpd.sh: WARNING: $command_interpreter -n !=ELF
/usr/local/etc/rc.d/musicpd.sh: WARNING: $command_interpreter -n !=ELF
musicpd not running?  
/usr/local/etc/rc.d/musicpd.sh: WARNING: $command_interpreter -n !=ELF
[: /usr/bin/nice: unexpected operator
Starting musicpd.  unable to bind port 6600, maybe MPD is still running?
error binding port
 
Dann ruf doch im skript einfach ein weiteres wrapper-skript auf, welches "nice deinbefehl" macht.

So umgehst du den aerger mit rc.d
 
MrFixit schrieb:
Probiers hiermit:
Code:
command="/usr/bin/nice"
musicpd_flags="-n -10 /usr/local/bin/mpd $musicpd_flags $config"

Ok, das funktioniert nun. Danke für die Hilfe, eigentlich hätte ich darauf auch selbst kommen können... :rolleyes:
 
Hab nun festgestellt das geht auch viel einfacher. Einfach ne Variable
Code:
musicpd_nice=-10
setzen und schon wird alles automatisch von rc.subr erledigt. Dann klappen auch die Restart / Stop Kommandos wieder...
 
Zurück
Oben