Похоже, вы ищете, как запустить процесс в фоновом режиме, позволяя вам одновременно выполнять другую работу. Это достигается добавлением амперсанда в конце команды. Например, через несколько миллисекунд после запуска sleep 5h
вы можете ввести другую команду, в то время как фоновая команда делает свое дело. Чтобы процесс пережил закрытие терминала, вам придется сделать его осиротевшим, используя disown
, а чтобы не видеть стандартный вывод (или стандартную ошибку ), вы можете использовать перенаправления . См. управление процессами и управление заданиями для отличной документации.
В качестве альтернативы вы можете запустить команду на переднем плане и просто запустить другой терминал, чтобы сделать что-то еще. Об остальном позаботится ОС.
Оказывается, это было что-то несвязанное -DOH.
Для ssh AuthorizedKeysCommand выполнялся пользовательский сценарий bash для извлечения ключей из атрибута LDAP. Он записывал кэшированную версию ключа в домашний каталог пользователя и создавал путь, если он не существовал .
Это, как оказалось, приводило к тому, что pam _mkhomedir никогда не запускался, потому что каталог уже был там, по крайней мере, если я использовал аутентификацию на основе ключа. Таким образом, с pam mkdir вообще не было проблем.
Когда я удалил этот скрипт, он заработал отлично. Теперь я переписал скрипт для хранения кэша ключей ssh вне домашнего каталога, и все работает точно так, как ожидалось.
Просто задокументировал это здесь в качестве напоминания всем, кто может так же застрять, -думать нестандартно и убедиться, что pam _mkhomedir действительно работает, когда должен, особенно когда используются пользовательские сценарии.