スクリプトが ssh を呼び出した後、stdin がターミナルでないため、疑似ターミナルが割り当てられない
ちょうど完了した最近のプロジェクトでは、我々は、コマンドモードで直接ssh +それのIP(ユーザーパスワードが必要ない設定によって)、例えば、指定されたサーバにSSHリモートログインを使用:ssh 10.22.19.54 、ローカルサービスに終了するには、終了を使用しています。いくつかの自動化を達成するために、私は次のようにSHELLでこのコードを実装しています。
G_log="/home/admin/call.log"
G_var=$*
ssh 10.22.19.54 >>$G_log <<EOF
echo "私は今54歳です."
echo "$G_var"
/home/admin//disp/adb.sh "$G_var"
出口
EOF
しかし、デバッグ中に、このスクリプトを呼び出した後、毎回次のようなエラーが報告される、非常に憂慮すべき問題があることがわかりました。
stdinはターミナルではないので、擬似ターミナルは割り当てられません。
TERM環境変数が設定されていない。
そして、私たちのスクリプトはJAVAを通して呼び出されるのですが、JAVAスレッド呼び出し後、シェルが終了せず、その結果、システムリソースがずっと使われてしまい、大量のユーザーがいると、まずシステムが持ちこたえられないことがわかりました。これは一刻も早く修正しなければならなかった。
長い間ウェブで検索した結果、同じような問題が山ほど見つかりました。これを読んだ後、SAエンジニアにアドバイスを求めました。彼はパラメータ-ttを追加することを勧め、結果はすぐに返ってきました。本当に良いことだと思います。
要約すると シェルスクリプトからsshを呼び出す場合は、スクリプトからの呼び出しであることを示すパラメータを追加する。
関連
-
Makefileを参照してください。***セパレータがない。 停止 原因と解決策
-
Linux の ssh 公開鍵の追加
-
MySQL5.7 のパスワード変更で ERROR 1054 (42S22) が発生しました。fie'内の不明なカラム'password'が見つかりません。
-
[シェルプログラミング】シェルスクリプトの実行エラー: シンタックスエラー: 予期せぬファイルの終了
-
変数 `xxx' の解は、初期化子を持っているが型が不完全である。
-
Python easy_install は "ImportError: pkg_resources という名前のモジュールがありません" というエラーが発生しました。
-
Ubuntu next install nginx,make: *** `default'が必要とする `build' をターゲットとするルールがありません。停止します。
-
C言語改善
-
Ubuntu 18.04をインストールしたらどうする! 充実の詳細チュートリアル!
-
pow関数に対する解決策 gcc compile prompt undefined reference to `power'
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
SSHパスワードフリーログイン設定後、stdinがターミナルでないため、疑似ターミナルが割り当てられない。
-
undefinedlinuxでは127.0.0.1、 : では0.0.0.0です。
-
変数 "xxx" はイニシャライザを持ちますが、型は不完全です。
-
警告について:互換性のないポインタ型からの初期化【デフォルトで有効
-
R パッケージのインストール: パッケージ 'phangorn' のインストールで終了ステータスが 0 以外になった。
-
Linuxの一般的なコマンドを史上最も完璧にまとめた本(超充実! (超詳しい!)これだけ集めれば十分!?
-
セキュアネットワーク(sshポートマッピング) -----図の詳細を使用することができます。
-
ubuntuでグローバルシステムエージェントを設定する
-
シェルスクリプトに$0, $? , $! , $$, $*, $#, $@ などのシェルスクリプトとlinuxコマンド実行時の戻り値の意味
-
dpkg: パッケージの処理エラー ***(--install): 依存関係の問題 - 未設定にする