… и man
это путем вызова предпочтительного пейджера окружает команду, названную Вашим PAGER
переменная среды, на вывод любого конвейера использовалась для генерации выходной формы страницы руководства. Это отступает к значению по умолчанию, если Вы не указали команду пейджера. На ранних Нельдах программа пейджера по умолчанию, это man
вызывает как команда пейджера по умолчанию с известными соединенными проводами опциями, был pg
. В Вашей системе это, вероятно, more
или less
. Некоторые man
команды смотрят на другие переменные среды для команд пейджера, также.
Вы делаете это путем выполнения что man
делает: передайте вывод по каналу того, что Вы хотите видеть в стандартный вход программы пейджера.
Необходимо вовлечь себя хорошая книга по Unix. Существует ярмарка немногие, которые объясняют это, которое является очень простой функцией системы. Простой Поиск книг Google для pager unix more
мной сегодня поднял более чем сто книг, которые обсуждают это. (Я прекратил рассчитывать в ста.)
Ваш вопрос не ясен, Вы говорите о демоне в заголовке, но в теле только говорят об универсальном процессе.
Для демона там конкретны, означает останавливать его, например, в Debian, который Вы имеете
service daemon-name stop
или
/etc/init.d/daemon-name stop
Подобные синтаксисы существуют для других initscript стандартов, используемых в других дистрибутивах/ОС.
Для уничтожения процесса недемона предполагая, это в некотором роде не контролируется, можно безопасно использовать killall
или pkill
, учитывая, что они используют по умолчанию SIGTERM
(15) сигнал и любое прилично записанное приложение должны поймать и корректно выйти при получении этого сигнала. Примите во внимание, что эти утилиты могли уничтожить больше, что один процесс, если существуют многие с тем же именем.
Если это не работает, можно попробовать SIGINT
(2), затем SIGHUP
(1), и как последнее прибежище SIGKILL
(9). Этот последний сигнал не может быть пойман приложением, так, чтобы это не могло выполнить очистку. Поэтому этого нужно избежать каждый раз, когда Вы можете.
Оба pkill
и killall
примите параметр сигнала в форме -NAME
, как в
pkill -INT process-name
На подобных BSD и других дистрибутивах у Вас часто будут сценарии в/etc/rc.d/, который обычно справляется с запуском, перезапуском и остановкой демонов в Вашей системе. Для остановки демона, Вы или назвали бы сценарии с полным путем, например:
# /etc/rc.d/acpid stop
или использование команда:
# rc.d stop acpid
Я настоятельно рекомендую испытать этот сценарий для показа Ваших систем запущенных и остановленных демонов:
#!/bin/bash
chk_status(){
target=$1
if [[ $target != "functions" && $target != "functions.d" ]]
then
if [[ -f "/var/run/daemons/$target" ]]
then
stat="\e[1;32m[RUNNING]"
else
stat="\e[1;31m[STOPPED]"
fi
printf "$stat \t\e[1;34m$target\e[0;0m\n"
fi
}
daemons=($(for daemon in /etc/rc.d/*; do echo "${daemon#\/etc\/rc.d\/}"; done))
if [[ $1 != "" ]]
then
chk_status $1
else
for d in "${daemons[@]}"; do
chk_status $d
done | sort
fi
Проверьте на killproc
функция, доступная в /etc/init.d/functions
сценарий, получите файл и используйте функцию. Или используйте pgrep
и pkill
утилиты, чтобы проверить, работают ли они намечено и затем используют их. Пример: pkill -SIGTERM mysqld
отправил бы ТЕРМИН сигнал уничтожения, чтобы иметь mysqld выполняют безопасное завершение работы и сбрасывают базы данных на диск, прежде чем быть уничтоженным.
markdoc serve &
иsvnserve -d
. Я думаю, что это - своего рода демон, но ничто не было бесспорно мне :) – Eonil 04.01.2012, 11:01killall
уничтожитель! – xdevs23 09.05.2016, 19:04