Новый день, новый пост. Привет. Пожалуй, начнём.
Если хочешь понять, как работает эмулятор терминала (ведущий, ведомый и тому подобное), вот тебе инструкция.
Сразу уточню, что придётся самостоятельно вникать, я лишь покажу, как получить нужный выхлоп для дебага.
Всё делаю на десктопной Ubuntu 22 с терминалом Konsole.
Запускаем в первом терминале:
readlink /proc/self/fd/0
Получаем нечто подобное: /dev/pts/0.
Открываем второй терминал и запускаем от рута, получаем нужные PID:
pgrep -xo konsole
pgrep -xo bash
24385
24401
Вместо Konsole и Bash можешь указать свой терминал и оболочку.
Подставляем PID в команду и опять запускаем от рута:
strace -Yytttf -p 24385 -p 24401 -o bashdays.log
Возвращаемся в первый терминал, где запускали readlink, и что-нибудь начинаем вводить: команды там, текст.
После того как наигрался, возвращайся во второй терминал со strace, стопай и открывай на изучение лог bashdays.log.
В нём ты найдёшь много интересного, если всё сделал правильно — придёт озарение.
Сегодня в 20:13 МСК залетит связанный с этой темой пост. Будут кишочки, strace и дебаг аномалии. Забегай.
Хорошего тебе дня, изучай!








Комментарии