Можно также использовать who
или w
видеть, в кого в настоящее время входят система, включая пользователей SSH.
Можно наблюдать то, что процесс делает с командой strace. Strace показывает системные вызовы, выполненные процессом. Все ¹ процесс, который влияет на его среду, сделано через системные вызовы. Например, создание каталога может только быть сделано путем окончательного вызова mkdir
системный вызов. mkdir
команда оболочки является тонкой оберткой вокруг системного вызова того же имени.
Видеть что mkdir
делает, выполненный
strace mkdir foo
Вы будете видеть много вызовов кроме mkdir
(76 всего для успешного mkdir
в моей системе), начиная с execve
который загружает двухуровневое изображение процесса, затем звонит для загрузки библиотек и файлов данных, используемых программой, звонит для выделения памяти, звонит для наблюдения состояния системы, … Наконец вызовы команды mkdir
и переносится вниз, заканчиваясь с exit_group
.
Для наблюдения, что делает программа GUI запустите ее и только наблюдайте его во время одного действия. Узнайте идентификатор процесса программы (с ps x
, htop
или любое другое средство просмотра процесса), затем выполненный
strace -o file_manager.mkdir.strace -p1234
Это помещает трассировку от процесса 1234 в файле file_manager.mkdir.strace
. Нажмите Ctrl+C для остановки strace
не останавливая программу. Обратите внимание, что что-то как ввод имени каталога может включить тысячи или десятки тысяч системных вызовов: обработка движений мыши, изменения фокуса и так далее намного более сложны на том уровне, чем создание каталога.
Можно выбрать, какие системные вызовы зарегистрированы в strace
произведенный путем передачи -e
опция. Например, для исключения read
, write
и select
:
strace -e \!read,write,select …
Только записывать mkdir
вызовы:
strace -e mkdir …
¹ хорошо, почти все. Общая память только включает системный вызов начальной настройки.