Как я могу начать процесс с другим именем?

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

Один из способов, который я мог придумать, - это запустить процессы с именем (чтобы отличить их как группу), а затем использовать pkill, чтобы убить их по имени.

Вопрос в том, как запустить процесс с именем, чтобы я мог использовать pkill, чтобы убить их по имени? Я открыт и для других решений.

10
задан 22 July 2013 в 02:32

2 ответа

Вы можете использовать встроенную оболочку exec:

bash -c "exec -a MyUniqueProcessName <command> &"

<command> заменяет текущую оболочку, новый процесс не создается, поэтому я запускаю новую оболочку для вызова exec .

Затем вы можете убить процесс с помощью:

pkill -f MyUniqueProcessName

Вы можете запустить более одного процесса с одним и тем же именем, тогда pkill -f <name> убьет их всех.

0
ответ дан 22 July 2013 в 02:32

AMItac / Агентство Solaris

У меня есть этот случай с инструментом транскодирования аудио. (работает 3 раза), но имеет только одно имя.

Я сделал следующее. Не в папку bin из инструмента Shell и скопировал его 3 раза, а затем дал ему новое имя. tc-1, tc-2, tc-3 (это небольшой инструмент, поэтому он не ест много места на жестком диске (с толстыми двоичными файлами вы не должны использовать другие упомянутые способы)

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

МОЖЕТ работать еще один трюк ...

добавить скрипт #bash Name.sh, сделайте его исполняемым. Введите там свои команды и запустите сам скрипт bash. В Centos он затем использует имя Bashscript, которое вы указали, а не само имя бина.

Надеюсь, что-то кому-то там поможет.

0
ответ дан 22 July 2013 в 02:32

Другие вопросы по тегам:

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