SORU
30 Kasım 2009, PAZARTESİ


Nasıl backgrounded/müstakil ssh oturumu öldürürüm?

birlikte program sinerji bir ssh tünel ile kullanıyorum

ben sadece bir bu iki komut bir tür Açık konsolu için çalışır:

ssh -f -N -L localhost:12345:otherHost:12345 otherUser@OtherHost
synergyc localhost

im tembel çünkü bir simge: bir fare tıklatma ile çalıştırılan Bash-Script yaptım

#!/bin/bash
ssh -f -N -L localhost:12345:otherHost:12345 otherUser@OtherHost
synergyc localhost

Bash-Script üstünde çalışıyor gibi, ama şimdi ben de öldürmek istiyorum sinerji ve ssh tünel üzerinden bir fare tıklatın, böylece kurtarmak zorundayım PID sinerjisi ve ssh dosya için öldür onları sonra:

#!/bin/bash

mkdir -p /tmp/synergyPIDs || exit 1
rm -f /tmp/synergyPIDs/ssh || exit 1
rm -f /tmp/synergyPIDs/synergy || exit 1

[ ! -e /tmp/synergyPIDs/ssh ] || exit 1
[ ! -e /tmp/synergyPIDs/synergy ] || exit 1

ssh -f -N -L localhost:12345:otherHost:12345 otherUser@OtherHost
echo $! > /tmp/synergyPIDs/ssh
synergyc localhost
echo $! > /tmp/synergyPIDs/synergy

ama bu komut dosya boş

nasıl ssh ve sinerji PID alabilirim?
(...|ps aux | grep awk ... | sed uzak durmaya çalışırım ... kombinasyonları, daha kolay bir yolu olmalı)

CEVAP
30 Kasım 2009, PAZARTESİ


İlk fikrim arka planda işlemler $! ile PID almak için başlamak gerekir.

Bir desen gibi

some_program &
some_pid=$!
wait $some_pid

... sonra ssh parola ifadesi istemek için ön planda artık olmayacak olması dışında ne olabilir.

Peki o zaman, bir şeylerin farklı gerekebilir. ssh -f zaten yürütmesini sizin kabuk mu hiç yeni bir işlemi olarak çoğaltılır. İdeal olarak, ssh kendisi bazı dosya içine PID yazmak için bir yol sunacak.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jedimasterkyle

    jedimasterky

    11 ŞUBAT 2006
  • RocketJump

    RocketJump

    22 ŞUBAT 2006
  • TheDailyTechDose

    TheDailyTech

    15 EKİM 2012