В чем смысл echo $$ [duplicate]

На этот вопрос уже есть ответ здесь:

Как следует из названия, мне интересно, в чем весь смысл echo $$ ... Я понимаю, что команда echo $? возвращает статус последней команды это было запущено, и теперь я не понимаю, что возвращает echo $$ ... Я считаю, что он запускает что-то, связанное с PID , я в чем-то прав или полностью ошибаюсь?

]
0
задан 13 November 2017 в 16:37

1 ответ

Из определения стандарта POSIX:

$

Расширяется до десятичного идентификатора процесса вызванной оболочки. В подоболочке (см. Среду выполнения Shell), '$' должен расшириться до того же значения как значение текущей оболочки.

Это необходимо, когда Вы могли бы отправить сигналы, те, которые УНИЧТОЖАЮТ или SiGTERM к оболочкам кроме, Вы в настоящее время используете, определяя информацию о процессе об оболочке через доступные данные в /proc/$$/ каталог и много других вещей. Я неопределенно вспоминаю использование его однажды в сценарии оболочки получать PID сценария и затем отличать его от вызовов функции, определенных в рамках сценария. Это может также использоваться для различения нескольких экземпляров сценария того же имени.

3
ответ дан 1 November 2019 в 05:33

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

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