Я выполняю поле семени как локальная машина с установкой Ubuntu 14.04LTS с многопользовательским rtorrent/rutorrent.
Я установил это через сценарий, который также установил crontab записи для каждого пользователя так rtorrent, и irrsi запустится автоматически при начальной загрузке.
Загрузка слишком высока (особенно в сети), если все пользователи rtorrent/irrsi работают одновременно. Таким образом, я начал
su - user
password
crontab -e
И затем прокомментируйте эти rtorrent/irrsi строки для пользователей A-D и не прокомментируйте их для пользователей E-H.
Позже ночью, когда я возвращаюсь из работы, я делаю то же, но некомментирую эти строки для пользователей A-D и комментирую эти строки для пользователей E-H.
Все это редактирование сделало меня начинающий задаваться вопросом, не было ли более легкого способа выполнить это... Там был бы способ создать сценарий, который добавляет # перед всеми строками в crontab всех пользователей, которых я указываю. И затем возможно, второй сценарий для удаления этого # (если есть).
Править: crontab каждых пользователей содержит только эти 2 строки.
@reboot sleep 10; /usr/local/bin/rtcheck irssi rtorrent
*/5 * * * * /usr/local/bin/rtcheck irssi rtorrent
Когда я не хочу, чтобы они были выполнены в перезагрузке или позже, когда крон находит их не выполнением, я просто комментирую эти строки, таким образом, они похожи на это:
#@reboot sleep 10; /usr/local/bin/rtcheck irssi rtorrent
#*/5 * * * * /usr/local/bin/rtcheck irssi rtorrent
не делая его эффективно ни irssi, ни rtorrent не запускают начальную загрузку, ни начинают позже, когда крон находит их не выполнением.
Вероятно, самый простой способ сделать это с cron
к:
Выбирают времена, например,
, можно изменить это так или иначе, Вам нравится делать разделение по времени равноправным для всей группы A и пользователей B.
Для пользователя "имя пользователя" в группе A:
1) Редактирование, существующее crontab
записи путем комментирования их. Не стирайте их, просто комментируют их так, они не стреляют.
2) Добавляют новый crontab
записи:
# => either start daemon, while checking that (i) startup takes place between 0:01 am
#+ and 2:00pm and (i) no 'rtorrent' process owned by "username" already runs.
*/10 0-14 * * * [ -z $(/bin/ps -eF | /usr/bin/awk '/rtorrent/ && /username/') ] && /sbin/start-stop-daemon -S /usr/local/bin/rtorrent
# => or start client-app based on similar conditions
*/10 0-14 * * * [ -z $(/bin/ps -eF | /usr/bin/awk '/rtorrent/ && /username/') ] && /usr/bin/env DISPLAY=:0.0 /usr/local/bin/rtorrent
# stop 'rtorrent' process if it exists and is owned by "username"
#+ Check every 5 minutes between 2pm and midnight
*/5 14-24 * * * /usr/bin/kill "$(/bin/ps -eF | /usr/bin/awk '/rtorrent/ && /username/ printf "%s",$2')" > /dev/null 2>&1
Детали команды, начинающей Вашего демона, будут зависеть от ряда факторов, например, является ли клиент, запускающийся rtorrent
, машиной отдельного пользователя или могут ли несколько пользователей одновременно выполнить их собственный экземпляр rtorrent
. В этом случае можно хотеть сохранить pid процесса в файле выполнения для каждого пользователя, таким образом, можно справиться с теми процессами как со смазыванием нагрузки по трафику. Взгляд это для фактического запуска rtorrent
пользователь идентификации процесса сокет и pid
я мог не , попробовал это решение, таким образом, это - что-то вроде набега в темноте, что касается корректной процедуры запуска. В особенности я предполагаю, что Ваш /home/username/.rtorrent.rc
соответственно настроен, и что irssi
не дает Вам проблемы, как детализировано в другом месте .
HTH. Сообщите.