Я пытаюсь установить export
это было бы эффективно kill
процесс на основе PID это pgrep
подача это. Выполнение команды kill $(pgrep myAppName)
кажется, работает (если 'myAppName' были названием фактического рабочего процесса)... Но как Вы сохранили бы эту команду как экспортируемую переменную среды? Каждое изменение команды, о которой я мог думать, кажется, пытается оценить pgrep myAppName
во что-то как 20137
(или подобное значение PID), и выполнение экспортируемых переменных работ в, первый раз, но очевидно не будет работать после этого начиная с экспортируемой команды, на самом деле kill 20137
, где тот процесс был уже завершен.
Как я могу заставить это быть правильно сохраненным в переменной, таким образом, я могу просто ввести что-то как $KILL_APPNAME
для уничтожения того процесса каждый раз, команда выполняется?
Что я подумал Вы пытаетесь сделать потребности Eval
для работы:
THING="eval kill \$(pgrep myAppName)"
$THING
, но это неловко и не работает По умолчанию во всех снарядах (например, это не работает по умолчанию в ZSH
, хотя вариант может быть установлен, чтобы сделать его работать). Что бы вы ни пытались сделать, скорее всего, лучше решить с чем-то более чистым и проще, как функция:
kill_my_app() {
kill $(pgrep myAppName)
}
kill_my_app
или, как другие указали в комментариях, просто используйте pkill
или killlall
Что именно то, что вам нужно.