質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

3回答

2131閲覧

exitするとフリーズする

R.T

総合スコア13

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

3クリップ

投稿2018/01/12 07:19

編集2018/01/25 09:07

sshしてから抜けるためにexitするとなぜかフリーズします。
ansibleも使えません。(エラーが出ずにフリーズする。)
原因や、良い改善方法はないでしょうか。

実行環境

mac
iTerm2 ※TeraTermではありません
対象サーバ centos 6.3
openssh OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013

試したこと

sshのログオフでフリーズしてしまうを参考に
$ sleep 20 & exit
を実行してみたら抜けられました。が、再びサーバにsshしてps auxでプロセスを確認すると中途半端に残っているようでした。

lang

1[user@hoge ~]# sleep 20 & exit 2[1] 30807 3logout 4Connection to hoge closed. 5~ 6[user@hoge ~]# ps aux | grep 30807 7user 30807 0.0 0.0 0 0 ? D 16:06 0:00 [sleep]

またここで書いてある内容が理解できず、解決策もリスクがありそうなので試せません...

追記

  • 「?何がフリーズするのでしょうか」

ターミナルがフリーズします。引き続きコマンドなどの入力ができなくなります。
ローカルmacでiterm2を開き、問題のサーバへssh接続します。接続は問題なく行われるのですが、sshをexitしてローカルmacでの作業を再開させようとexit入力してenterを押すと、iterm2が一切操作できなくなります。enterを押してもctrl+cしても反応がありません。
またこの症状はmacのデフォルトのターミナルでも同じように再現されました。さらに他の開発メンバーからも同じ症状があったと聞いたので、おそらくターミナルの問題ではなくリモートサーバ側の問題かと思われます。

*フリーズした状態で別の画面からssh接続はできました。
ただ同じようにexitするとターミナルが動かなくなってしまい、一旦ターミナルのそのウィンドウを閉じて開き直さなければならなくなります。

追記②

今発見したのですが、別のユーザでsshログインしてexitしたら、問題なく戻ってこれました。
特定のユーザだけそうなっているみたいです。
基本そのユーザでログインするようになっているので、十数人が使っていることが問題と関係あったりするのでしょうか...

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2018/01/12 13:26

何がフリーズするのでしょうか? macOS のTarminal.appを使った場合は、どうですか? フリーズしている状態で、別の画面から SSH ログインは可能ですか?
Tomak

2018/01/14 08:44

「shopt -s huponexit」はSSHでログインしたbashの子プロセスで何も動かしていなければ大丈夫です(何かのバッチなど)。子プロセスの確認は「pstree -Aph」のようにして行います。
R.T

2018/01/17 07:29

CHERRYさん > 質問に追記させていただきました。
R.T

2018/01/17 07:35

Tomakさん > ご教授いただきありがとうございます。子プロセス確認してみたらsshとsshdのプロセスが数万個残っていました..これが原因だったりするのか..。
unz.hori

2018/01/24 09:28

参考にしたサイトにOpenSSHのバージョンが問題なような記述があります。OpenSSHのVupしたらどうでしょう?
R.T

2018/01/25 09:01

回答ありがとうございます!確かにosのver古いので上げたいところではあります..。参考にしたサイトでは「(上記の処理を行なった場合)利用環境によっては不具合が生じる」という解釈だったのですが、version自体が問題なんでしょうか..。本番サーバでもあるので、もう少しVupしない方向で解決策を探していけたらと思います。
unz.hori

2018/01/25 09:02

ちなみにOpenSSHのバージョンは何でしょう?
R.T

2018/01/25 09:08

失礼しました、osのverと勘違いしていましたね。opensshのversionは5.3でした。
unz.hori

2018/01/25 09:24

あー、でもOpenSSHの方はクライアントコードの話か...
R.T

2018/01/25 09:34

参考リンクありがとうございます。確かに古いので、opensshをVupしたほうがいいのは確かですよね。メンバーにも相談してみます。ただ別のユーザでsshしたらexitフリーズしなかったので、もしかしたらそのサーバの特定のユーザが原因のような気がしています。
guest

回答3

0

自己解決

再起動したら症状は改善されました。
ただ原因をはっきり突き止めることができなかったので、おそらくまたいずれ起こるだろうなと...
ただ特定のユーザだけの現象だったことと、踏み台目的で使われていたことから、待ち状態のプロセスが増えて重くなっていたんじゃないかなと思います。

投稿2018/01/31 02:57

R.T

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

質問文にあるサイトに書いてあるようにリモートサーバーのSSHのバージョンのせいです。ずいぶん前ですが、私も同じ症状になったことがあり、その時はこのサイトと同じ方法で解決しました。
sshのログオフでフリーズしてしまう

~/.bashrc または、~/.bash_profile に下記を追加します。

bash

1shopt -s huponexit

OSが古いとセキュリティ問題がある場合もあるので、できるだけバージョンアップするようにしてください。

投稿2018/01/25 10:13

Tomak

総合スコア1652

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

サーバーの.bashrc,.bash_profile,.profileなどに、あやしい記述か無いか確認して下さい。

投稿2018/01/24 13:52

hichon

総合スコア5737

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

R.T

2018/01/25 08:57

回答ありがとうございます。 .bashrc, .bash_profileを確認しましたが、怪しい記述はなさそうでした。.profileに関しては存在していませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問