Bir Unix makinesinde komut çalıştırmak ve komut tamamlanmadan çıkmak için ssh'yi nasıl kullanabilirim?
Örneğin,
ssh localhost 'sleep 60 &'
Uyku arka planda çalışsa bile, ssh uyku tamamlanana kadar terminalimde asılı.
Bir Unix makinesinde komut çalıştırmak ve komut tamamlanmadan çıkmak için ssh'yi nasıl kullanabilirim?
Örneğin,
ssh localhost 'sleep 60 &'
Uyku arka planda çalışsa bile, ssh uyku tamamlanana kadar terminalimde asılı.
Yanıtlar:
SSH, istemcinizde nohup kullanmakla tamamen aynı olan ancak ssh'nin parola istemesini mümkün kılan bir -f anahtarına sahiptir. Şöyle kullanın:
ssh localhost -f 'command'
Ancak : SSH arka planda yaşamaya devam edecektir, bu nedenle sunucudaki komut bitmeden istemciyi kapatırsanız iptal edilir. Komutu uyguladıktan sonra ssh bağlantısının kapatılmasını istiyorsanız, sunucu tarafındaki ekranı kullanabilirsiniz:
ssh localhost -f 'screen -d -m sleep 60'
Nohup, stdout / stderr yönlendirmesini kullanın ve komutu arka planda çalıştırın:
nohup ssh localhost 'sleep 60' >/dev/null 2>/dev/null &
EDIT: Ya da daha iyisi, sadece ssh's -f parametresini kullanın:
ssh -f localhost 'sleep 60'
&>/dev/null
.
Veya kullanarak giriş yaptıktan sonra, ilerlemeye veya çıktıya bakmak için daha sonra geri gelmek isteyip istemediğinizi ssh
başlatın screen
.
&
alıntıların dışını istiyorsunuz .