এসএসএইচ কেন এই কমান্ডগুলির শেষে স্থিত হয় এবং আমি কীভাবে এটিকে প্রস্থান করতে পারি?


10

আমি এটি চালান:

ssh -t -vvv -i ~/.ssh/druid-keypair -o StrictHostKeyChecking=no ubuntu@${INSTANCE_ADDRESS} <<EOI

# Setup Oracle Java
...

# Install dependencies - mysql must be built from source, as the 12.04 apt-get hangs
export DEBIAN_FRONTEND=noninteractive
sudo debconf-set-selections <<< 'mysql-server-5.5 mysql-server/root_password password diurd'
sudo debconf-set-selections <<< 'mysql-server-5.5 mysql-server/root_password_again password diurd'
sudo apt-get -q -y -V --force-yes --reinstall install mysql-server-5.5

echo "ALL DONE with druid environment setup!"
exit
EOI

দ্রষ্টব্য: আমি ssh এর সাথে এবং ছাড়াই চেষ্টা করেছি।

-Vvv থেকে ডিবাগ আউটপুটটি হ'ল:

...
ldconfig deferred processing now taking place
ALL DONE with druid environment setup!
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0

এবং তারপরে প্রক্রিয়াটি চিরকাল সেখানে বসে থাকে। কেন ssh কমান্ড শেষ হবে না? আমি -t এবং ছাড়া চেষ্টা করেছি এবং প্রস্থান এবং ছাড়াও চেষ্টা করেছি। এটি কোনও পার্থক্য করে না :(

আপডেট: আমি যখন স্ক্রিপ্টের শেষে 'কাজ' টাইপ করি, তখন আমি দেখতে পাই:

JOBS:
[1]-  Running                 nohup bin/zookeeper-server-start.sh config/zookeeper.properties 2>&1 > /dev/null &
[2]+  Running                 nohup bin/kafka-server-start.sh config/server.properties 2>&1 > /dev/null &

আমি কীভাবে এই পরিষেবাগুলি চালাতে পারি এবং তারপরেও একটি এসএসশন সেশন শেষ হয়?

আপডেট: আমি এখন ম্যানুয়ালি এই প্রক্রিয়াগুলি অস্বীকার করি। জিনিসটি এখনও প্রস্থান করে না। ডাব্লুটিএফ সাথী?

আপডেট: লাইন দ্বারা লাইন সম্পাদন করার সময়, দুটি কমান্ড সিআর-তে আঘাত না করে শেলটিতে ফিরে আসে না:

nohup bin/zookeeper-server-start.sh config/zookeeper.properties &
nohup bin/kafka-server-start.sh config/server.properties &

-Vvv (ভার্বোজ মোড) এর পরিবর্তে -q (শান্ত মোড) ব্যবহার করার চেষ্টা করুন।
সেপ্টেম্বর

কোন প্রভাব নেই. -vvv ছিল কেবল ডিবাগ করার জন্য।
rjurney

এসএসএইচ সার্ভারে এবং হ্যাং কারণ খুঁজে বের করার জন্য এই কমান্ডগুলি একে একে চালিত করে।
সেপ্টেম্বর

1
জিনিসটি হ'ল - তাদের কেউই ঝুলছে না! এটি কনসোলে দুর্দান্ত কাজ করে।
rjurney

আপনি << EOI ব্লকের বিষয়বস্তু "প্রতিধ্বনি 1" এর মতো কিছু দিয়ে প্রতিস্থাপন করলে কি এটি কাজ করে?
এড।

উত্তর:


22

সাধারণত, যদি এখনও ব্যাকগ্রাউন্ড সংযোগগুলি খোলা থাকে তবে এসএসএইচ টার্মিনাল সেশনগুলি স্তব্ধ হয়ে যায়। পটভূমি সংযোগ দ্বারা, আমি বোঝাতে চাইছি যেমন:

  • এক্স 11 উইন্ডো ফরোয়ার্ডিং
  • STDOUT এবং STDERR

~#আপনার ঝুলন্ত এসএসএইচ টার্মিনালটিতে টাইপ করে আপনার ঝুলন্ত এসএসএইচ সেশনে এখনও সংযোগ রয়েছে এমন সংযোগগুলি একবার দেখুন ।

এটি এমন হতে পারে যে আপনার স্ক্রিপ্টটি সেশনগুলি খোলার শুরু করেছে যা আপনি বুঝতে পারেন নি। অথবা আপনার রিমোট মেশিনের টার্মিনাল কনফিগারেশনের মতো .profile(বা .bashrc, ইত্যাদি) এতে কিছু থাকতে পারে যা একটি সেশন স্থাপন করে। শুভকামনা শিকার!

যাইহোক, ওপেনএসএসএইচ ক্লায়েন্টদের দেওয়া অন্যান্য কিছু পালানোর ক্রমগুলিও কার্যকর হতে পারে:

Supported escape sequences:
  ~.  - terminate connection (and any multiplexed sessions)
  ~B  - send a BREAK to the remote system
  ~C  - open a command line
  ~R  - Request rekey (SSH protocol 2 only)
  ~^Z - suspend ssh
  ~#  - list forwarded connections
  ~&  - background ssh (when waiting for connections to terminate)
  ~?  - this message
  ~~  - send the escape character by typing it twice
(Note that escapes are only recognized immediately after newline.)

অন্য একটি জিনিস, আপনি যদি চান যে আপনার এসএসএইচটি কেবল আপনার কমান্ডগুলি চালাচ্ছে এবং তাত্ক্ষণিকভাবে প্রস্থান করুন - অর্থাৎ আপনি কোনও দূরবর্তী টার্মিনাল সেশনটি চান না - আপনি -fবিকল্পটি ব্যবহার করতে পারেন ssh। এটি এসএসএইচ সংযোগকে পটভূমির কাজ হতে বাধ্য করবে।


3
নিম্নলিখিত সংযোগগুলি উন্মুক্ত: # 0 ক্লায়েন্ট-সেশন (t4 r0 i0 / 0 o0 / 0 fd 5/6 সিসি -1) আমি যা পাই তা এই। এর অর্থ কি কিছু?
অণু

-fআমার জন্য কাজ কর.
জিংগুও ইয়াও

আমি একই উদ্দেশ্যে শুনেছি কিন্তু এটি আমার পক্ষে কার্যকর হয়নি!
কোস্তাস

কোনও পটভূমি প্রক্রিয়াটি কী হিসাবে গণনা করা হয় background connectionএবং যে disownকোনও পটভূমি প্রক্রিয়া তাই ssh সংযোগটি স্থগিত না হয়?
the_prole
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.