Я переключился на zsh для моего ежедневного использования в последнее время. Одна из проблем, с которыми я сталкиваюсь, заключается в том, что я могу автозапускать исполняемый файл фоновой командной строки (например, fetchmail -d 1800
). Когда я добавить строку в ~/.zprofile
или ~/.zshrc
, все идет хорошо, пока я открыть еще один экземпляр процесса ЗШ (на самом деле, я использую tmux
так часто случается), Fetchmail жалуется, чтоКак автозапуск заданий при использовании zsh
fetchmail: can't accept options while a background fetchmail is running.
Я думал, что ~/.zprofile
может только выполняться один раз, но кажется, что я ошибался. Итак, как я могу справиться с этим должным образом?
Спасибо.
Существует 'ps -C fetchmail', не используйте' grep'. Также обратите внимание, что у вас неправильная позиция аргумента '-z' (но с' ps -C' вам не нужно '[-z' вообще:' ps -C fetchmail>/dev/null || fetchmail -d 1800 '). – ZyX
@ ZyX Хорошо, спасибо! – plesiv
Он работает! Кстати, я полагаю, что эту строку лучше вставить в '~/.profile', так как X window manager всегда будет читать ее * один раз * во время запуска. По-прежнему необходимо проверить, что, когда кто-то выходит из системы и переписывается, файл '~/.profile' получает еще один (хотя обычно сообщение об ошибке будет перенаправлено на' ~/.xsession-errors', кроме stdout). –