Вы должны использовать абсолютный путь с sudo по соображениям безопасности:
( sudo /var/www/symmetric-ds-3.1.6/bin/sym --port 8082 --server );
Проверьте вывод команды sudo -l для подтверждения. Со страницы руководства sudoers (1.7.x):
Cmnd_List - это список из одного или нескольких имен команд, каталогов и других псевдонимов. Имя commandname - это полное filename которое может включать подстановочные знаки в стиле оболочки (см. Раздел «Подстановочные знаки» ниже).
sudo xargs работает, потому что xargs (почти наверняка) находится в надежном пути (/usr/bin).
Также проверьте pgrep и pkill , это избавит вас от ненужной акробатики ps pipe.
У вас есть вероятность утечки ресурсов и другого нежелательного поведения при безусловном kill -9 , см. Https://unix.stackexchange.com/questions/8916/why-not-kill-9-a-process .
Обновление, которое вы добавили, вы запускаете это через crontab пользователя root - root не нуждается в использовании sudo , и в некоторых случаях root может не запускать sudo , проверьте, что sudo -l говорит, когда вы являетесь пользователем root. Если вы хотите иметь возможность запускать программу (которая не переключает свой собственный uid) в качестве определенного идентификатора пользователя, то обычно используется su - username -c "command" .