Вы должны фон удаленная команда на remoteserver
. Путем Вы делаете это будет фон ssh-команда на localpc
.
Кроме этого это - плохая идея позволить корень-ssh.
Так устанавливают на remoteserver
: sudoers строка, которая будет работать /root/backup.sh
как базируются пользователем backup
.
Вы могли создать того пользователя без "хорошего" пароля.
Поместите команду sudo /root/backup.sh &
как управляют в ~backup/.ssh/authorized_keys
— вместе с открытым ключом от localpc
(кто бы ни инициировал тот сценарий).
Ctrl
+D
добивается цели для меня.
На самом деле это -n
флаг, который представляет это поведение. Это предназначено, чтобы сделать только проверку синтаксиса команд, но на самом деле не выполняет их.
Попробуйте также ввести `
, который находится в той же клавише, что и ~
на клавиатуре, а затем нажмите Вернуть . Ctrl + D убивает терминал, но `
- нет.
Если выход из оболочки запланирован заранее, используйте
exit
Или вы можете запрограммировать обработку SIGTERM и других сигналов. пример руководства
Или, если вы хотите остановить уже запущенный сценарий оболочки
ctrl+c
ctrl+d
ctrl+z
Или найдите pid и уничтожьте его.
ps -ax | grep shell_name
pkill -9 PID_of_shell
Если вы вообще не получаете никакого вывода, вам следует сначала протестировать свой сценарий.
Например, сценарий Python будет буферизовать выходные потоки (, но только тогда, когда они передаются по конвейеру, а не при тестировании на консоли ). Таким образом, вы не увидите никаких сообщений журнала, пока буфер не будет очищен.
Укажите переключатель -u
(python3 -u script
)или установите переменную PYTHONUNBUFFERED
, чтобы избежать этого:
Environment=PYTHONUNBUFFERED=1
-121 ---301261 -Удерживайте Ctrl и нажмите pq . Это решило мою проблему.