Как получить текущий идентификатор процесса Linux из командной строки независимым от оболочки и языка способом

Как получить текущий идентификатор процесса (pid) из командной строки Linux без привязки к оболочке и языку?

pidof (8) , похоже, не имеет возможность получить вызывающий процесс ' pid . Bash, конечно, имеет $$ - но для моего общего использования я не могу полагаться на оболочку (Bash или другую). А в некоторых случаях я не могу написать скрипт или компилируемую программу, поэтому Bash / Python / C / C ++ (и т. Д.) Не будет работать.

Вот конкретный вариант использования: я хочу получить pid запущенного, Python-Fabric удаленного процесса SSH (где можно не предполагать, что bash является работает), так что, помимо прочего, я могу копировать и / или создавать файлы и / или каталоги с уникальными именами файлов (как в mkdir /tmp/mydir.$$).

Если мы сможем решить специфичную для Fabric проблему, это будет полезно, но не решит мою долгосрочную проблему. Для универсального использования во всех будущих сценариях мне просто нужна команда, которая возвращает то, что $$ предоставляет в Bash.

27
задан alex 9 August 2017 в 19:49
поделиться