Утилита для визуализации использования ЦП и памяти на основе дерева процессов

Не -процесс оболочки не имеет переменных оболочки. Программа на C имеет переменные C, программа awkимеет переменные awk, программа Perl имеет переменные Perl и т. д., и все они по-своему сильно отличаются от переменных оболочки.

Причина, по которой другой процесс не имеет переменных оболочки (или получает доступ к переменным оболочки ), заключается в том, что переменные оболочки не экспортируются (, т.е. они не являются переменными среды ), а также потому, что некоторые оболочки позволяют для присоединения к переменной оболочки больше информации, чем просто строковое значение,такие как атрибуты для переменных только для чтения -, целочисленных -только переменных и т. д. Эти атрибуты типа (см. typeset, встроенные -в команду ), не могут применяться к переменной среды и использоваться в другом процессе.

Некоторые оболочки (, такие как bash), также поддерживают массивы и ассоциативные массивы. Эти структуры слишком сложны для простого формата пары ключ -значение, где и ключ (, и имя переменной ), и значение представляют собой простые текстовые строки, наложенные на переменные среды, что означает, что они не могут быть экспортируется для использования в общем другом процессе.

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

Программа на C может использовать getenv(), программа awkможет использовать свой ассоциативный массив ENVIRON, а программа Perl может использовать свой хэш %ENVдля доступа, например, к переменным среды.

Я не знаю gedit, но в vimвы можете получить доступ к переменным среды с помощью оболочки -, похожей на синтаксис:

:echo $HOME

например. Здесь echoне имеет ничего общего с echoв оболочке, просто он работает похожим образом. Кроме того, строка $HOMEпросто является способом, которым vimпредоставляет пользователю переменные среды.

0
14.01.2020, 10:42
1 ответ

Поскольку я сам заинтересован в этом, я нашел этот проект до сих пор, но не смог взглянуть на него дальшеhttps://github.com/rocky/pygtk3-pstree. Он кажется мертвым, но, возможно, его можно -перенастроить на что-то новое.

1
28.01.2020, 02:56

Теги

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