Сервис демона передачи спонтанно останавливается

Во многих оболочках включая ksh, zsh и bash, time ключевое слово и привыкло к конвейерам времени.

time foo | bar

Будет время оба foo и bar команды (zsh покажет Вам разбивку). Это сообщает об этом относительно stderr оболочки.

time foo.sh > bar.txt

Скажет Вам, что время должно было открыться bar.txt и выполненный foo.sh.

Если Вы хотите перенаправить timeвывод, необходимо перенаправить stderr в контексте, где time запускается как:

{ time foo.sh; } 2> bar.txt

Это:

2> bar.txt time foo.sh

работы также, но с ksh93 и bash, потому что это не находится в первом положении, time не распознан как ключевое слово, таким образом, time команда используется вместо этого (Вы, вероятно, заметите другой выходной формат, и это не делает конвейеров времени).

Обратите внимание, что оба перенаправили бы и вывод времени и ошибки foo.sh кому: bar.txt. Если бы Вы только хотите вывод времени, Вам было бы нужно:

{ time foo.sh 2>&3 3>&-; } 3>&2 2> bar.txt

Обратите внимание, что POSIX не указывает ли time ведет себя как ключевое слово или встроенный (ли это конвейеры времен или единственные команды). Таким образом, чтобы быть портативным (в случае, если Вы хотите использовать его в a sh сценарий, который Вы хотите портативный к различным подобным Unix системам), необходимо, вероятно, записать это:

command time -p foo.sh 2> bar.txt

Обратите внимание, что Вы не можете функции времени или builtins или конвейеры или перенаправление foo.sh ошибки отдельно там, если Вы не запускаете отдельную оболочку как в:

command time -p sh -c 'f() { blah; }; f | cat'

Но это означает, что синхронизация будет также включать время запуска этого дополнительного sh.

5
13.04.2017, 15:22
2 ответа

Некоторое время назад я исследовал подобные проблемы, но в системе Debian.

Вот как я включил ведение журнала. Поскольку вы используете CentOS, вам нужно будет немного изменить это

sudo nano /etc/default/transmission-daemon

добавить в ОПЦИИ:

-e /var/log/transmission-daemon.log

создать и предоставить права файла журнала на передачу:

sudo touch /var/log/transmission-daemon.log
sudo chown debian-transmission:debian-transmission /var/log/transmission-daemon.log
sudo service transmission-daemon restart

Надеюсь, это поможет!

4
27.01.2020, 20:40

у меня была эта проблема, оказывается, transmission.logувеличился до более чем 7 ГБ.

когда я удалил его, все снова заработало, как и ожидалось. Я создал cron, чтобы удалить его по расписанию.надеюсь, это будет держать его под контролем.

1
16.05.2021, 20:35

Теги

Похожие вопросы