Назад | Перейти на главную страницу

Как прекратить ведение журнала в реальном времени после того, как оно было инициировано с помощью journalctl -f &

Окружающая среда: CentOS 8

Я включил ведение журнала в реальном времени с помощью команды,

$ journalctl -f &

Я получил необходимую информацию, но, к сожалению, не знаю, как это остановить. [CTRL] -c это не останавливает.

Есть ли простая команда для прекращения записи в реальном времени?

Вы начали journalctl процесс в фоновом режиме (с помощью амперсанда & в конце строки), что означает, что он выполняется независимо от оболочки, с которой вы его запустили. Таким образом, вы не можете остановить процесс, нажав CTRL+c.

Чтобы остановить все journalctl процессы сразу вы можете просто ввести

killall journalctl

Это остановит все процессы с именем journalctl которые были запущены вашим системным пользователем.

Если вы не уверены, есть ли еще процессы с таким именем, вы можете проверить это, выполнив поиск в списке процессов для journalctl:

ps fax | grep journalctl

Это даст вам следующий результат:

ps fax | grep journalctl
 2367 pts/7    S      0:00          |       \_ journalctl -f
 2371 pts/7    S+     0:00          |       \_ grep --color=auto journalctl

В этом примере первая запись будет процессом journalctl, а вторая - результатом поиска списка процессов (который выполняет сам grep). Первый столбец вывода показывает идентификатор процесса (pid). Чтобы остановить одно конкретное journalctl процесс просто введите

kill 2367

Имейте в виду, что у вас должны быть соответствующие разрешения, чтобы остановить этот процесс. Это означает, что если процесс был запущен пользователем root, вы можете остановить процесс, только если ваш пользователь также имеет привилегии root, например с помощью sudo выполнить killall или kill команда.