Я открыл несколько ttys, и я не знаю, какую комбинацию использовать для закрытия tty. Я использую Arch Linux.
systemd
не используется init
, это не поможет вам. sysvinit
больше не поддерживается Arch Linux systemctl
systemd
используется для управления всеми service units
в системе. Чтобы узнать больше об этом, man systemd.unit
. Остановка обслуживания getty
на желаемом tty
будет выполнять задание, о котором идет речь. Ниже приведена команда для выполнения этого действия, и я также добавил тест, чтобы вы могли подтвердить результаты.
# systemctl stop getty@ttyX.service
X
номером tty
вы хотели бы закрыть
tty
использовался [F4], то служба называется getty@tty4.service
. tty
. tty4
и введите свое username
и password
.
<CTRL>+<ALT>+[F4]
vim foo.bar
tty1
или в зависимости от того, tty
вы были изначально
<CTRL>+<ALT>+[F1]
vim
pgrep vim
pgrep
возвращает номер процесса сигнала указанного приложения. Множественные числа будут возвращены, если имеется несколько экземпляров одного и того же приложения
pgrep
выводит четыре номера процесса) getty
для tty4
# systemctl stop getty@tty4.service
vim
все еще активен на tty4
где он был открыт и редактировался foo.bar
pgrep vim
(если нет выхода / меньше вывода, чем на шаге 4, тогда нет процесса) getty@.service
для tty4
systemctl status getty@tty4.service | grep -i "Active"
grep -i "Active"
будет выводить только требуемую строку, которую вам нужно будет наблюдать, чтобы подтвердить, что getty
отключен
Active: inactive (dead)
Я считаю, что это команда deallocvt
которую вы ищете.
Сначала убедитесь, что VT больше не используется. Например, если в этой консоли запускается getty
с init
, нет смысла пытаться ее освободить, вам нужно сначала удалить этот tty из inittab
и сообщить init
чтобы перезагрузить его конфигурацию. Если есть оболочка, выйдите из оболочки и т. Д.