К основному контенту

Как узнать PID скрипта

Когда вы запускаете скрипт в оболочке, например Bash запускается процесс известный как подоболочка и выполняет последовательно все команды скрипта.

В некоторых случаях можно узнать ID процесса PID подоболочки в котором выполняется ваш скрипт. PID может быть использован в различных ситуациях, например вы хотите создать уникальный временный файл в папке /tmp/, тогда можно включить PID скрипта в имя файла. Или если скрипту нужно анализировать список запущенных процессов он сможет пропустить процесс своей подоболочки.

В оболочке Bash PID процесса подоболочки храниться в специальной переменной $$. Эта переменная доступна только для чтения, поэтому вы не сможете ее редактировать. Теперь посмотрим пример вывода PID:

#!/bin/bash echo "PID этого скрипта: $$"

После запуска данного скрипта мы увидим:

PID этого скрипта: 7845

Кроме $$, в оболочке Bash есть еще несколько доступных только для чтения переменных. Например в переменной PPID хранится PID родительского процесса, то есть PID оболочки Bash. Переменная UID хранит ид пользвоателя от которого запущен скрипт. Например выполнив:

#!/bin/bash echo "PID этого скрипта: $$" echo "PID оболочки: $PPID" echo "Скрипт запущен от пользователя: $UID"

Мы получим:

PID этого скрипта: 8454 PID оболочки: 5696 Скрипт запущен от пользователя: 1001

PID скрипта будет меняться при каждом новом запуске, потому что каждый раз будет создаваться новая подоболочка. Но PPID будет одинаковым пока вы будете выполнять скрипт в одной и той же оболочке.

Чтобы посмотреть другие экспортируемые переменные Bash читайте маны:

man bash

Комментарии


Дистанционная компьтерная помощь, удаленная компьютерная помощь онлайн.

Популярные сообщения из этого блога

Лучшие плагины для OBS Studio

Open Broadcast Software или OBS - это свободное программное обеспечение с открытым исходным кодом для стриминга аудио и видео данных в сеть интернет. Программа полностью кроссплатформенная и может работать в Windows, Linux или MacOS. Это отличная альтернатива для таких программ, как Wirecast и XSplit. OBS использует для вещания стандартный протокол обмена сообщениями в реальном времени, а поэтому может транслировать данные в любой сервис, поддерживающий это, например, Yotube. Несмотря на широкие возможности OBS, программа поддерживает еще и множество плагинов. В этой статье мы рассмотрим лучшие плагины для OBS Studio, которые вы можете использовать. Содержание статьи: Лучшие плагины OBS Studio 1. Browser Source Plugin 2. Video Source Plugin 3. Simple Scene Switcher 4. DirectShow Audio Source 5. CLR Browser Source 6. OBS Remote 7. AMD Advanced Media Framework Encoder 8. Text Source Plugin Выводы Лучшие плагины OBS Studio Чтобы найти плагины OBS Studio для Video пользователям пр…

Лучшие аналоги Paint для Linux

Когда я работал в Windows, я часто использовал стандартную программу редактора изображений Windows - Paint. Не всегда нужен очень и многофункциональный инструмент вроде Photoshop или Gimp. Иногда, чтобы подправить ту или иную картинку, дорисовать на ней несколько фигур или вставить текст достаточно простого, легкого в освоении графического редактора вроде Paint. В Linux таких программ довольно много. В этой инструкции мы рассмотрим лучшие аналоги Paint для Linux. В этот список не будут включены такие программы, как Gimp и Krita, ведь это полнофункциональные графические редакторы, векторные редакторы, такие как Inkscape мы тоже рассматривать не будем. А теперь перейдем к списку. Содержание статьи: KolourPaint MyPaint Gnome Paint XPaint Pinta mtPaint GPaint Rassam-paint Выводы KolourPaint На первом месте в списке аналогов Piant для Linux будет KoloutPaint. Это стандартный графический редактор для окружения рабочего стола KDE. Он поддерживает множество форматов изображений PNG, J…

Подключение OneDrive в Linux

OneDrive (Ранее известный как SkyDrive) это популярное облачное хранилище файлов от Майкрософт. Сейчас OneDrive бесплатно предоставляет 7 гигабайт пространства новым пользователям. Как вы знаете OneDrive хорошо интегрирован с другими продуктами компании  Microsoft. В OneDrive Также есть официальный клиент который автоматически загружает ваши видео и фотографии с камеры в облако. Но к сожалению этот клиент недоступен для операционных систем семейства Linux. Но не все так плохо. Сообщество открытого программного обеспечения уже нашло решение. Это opedrive-d от Boilermaker. Запустившись как демон программа автоматически синхронизирует локальную папку с облаком OneDrive. Содержание статьи: Установка Onedrive-d в Linux Настройка Синхронизация локальной папки с OneDrive Установка Onedrive-d в Linux Несмотря на то что onedrive-d разрабатывается для Ubuntu/Debian, CentOs/Fedora/RHEL поддерживается тоже хорошо. Для установки достаточно набрать несколько команд: $ git clone https://gith…