[解決済み] sudoとnohupを連動させる
2022-02-15 14:06:55
質問
Linux初心者です。
私は、2つのコマンドライン入力を受け取るperlスクリプトを持っています。私はそれをバックグラウンドで実行しようとしましたが、これは私が得たものです。
[~user]$ nohup sudo ./ascii_loader_script.pl 20070502 ctm_20070502.csv &
[2] 19603
[~user]$ nohup: appending output to `nohup.out'
が返された後、新しいプロンプトは表示されません。その後、何か他のコマンドを入力する限り、シェルはプロセスが停止していることを教えてくれます。
[~user]$ nohup sudo ./ascii_loader_script.pl 20070502 ctm_20070502.csv &
[2] 19603
[~user]$ nohup: appending output to `nohup.out'
ls
ascii_loader_script.pl format_wrds_trd.txt nohup.out norm_wrds_trd.cfg
[2]+ Stopped nohup sudo ./ascii_loader_script.pl 20070502 ctm_20070502.csv
この投稿を見て、コマンドを実行する前に "sudo date" をやってみました。それでも同じことが起こりました。 http://www.sudo.ws/pipermail/sudo-users/2003-July/001648.html
解決方法は?
ここで問題なのは、nohupではなく、バックグラウンド処理のsudoだと思うのですが。
プロセスをバックグラウンドにしている(コマンドの最後に&)が、おそらくsudoはパスワード認証が必要で、そのためにプロセスが停止しているのだろう。
これらのいずれかを試してみてください。
1) コマンドの末尾のアンパサンドを削除し、passord プロンプトに返信した後、バックグラウンドにする (CTRL-Z - とタイプしてプロセスを停止し、bg コマンドを発行してバックグラウンドにする)。
2) /etc/sudoersを変更して、ユーザーのパスワードを要求しないようにします。 私のユーザー名 ALL=(ALL) NOPASSWD: ALL
パスワードの返答以外に、アプリケーションが他の入力を待っている場合、次のようにコマンドに入力をパイプすることができます。 $ cat responses.txt|sudo mycommand.php
hth
関連
-
[解決済み] linuxでpsから特定のプロセスをgrepする方法は?
-
[解決済み] カット」を使った最後のフィールドの探し方
-
[解決済み] エラー: gdal がインストールされているのに、R 依存パッケージのインストール中に gdal-config が見つからない
-
[解決済み] ワイルドカードマッチングに基づいて、現在のフォルダとサブフォルダ内のすべてのファイルを再帰的に検索するにはどうすればよいですか?
-
[解決済み] フォルダとそのサブフォルダ/ファイルのパーミッションを一括で変更する方法
-
[解決済み] sudoを使わずにnpmがエラーを投げるのを修正する方法
-
[解決済み] すでに実行中のプロセスをnohup下に置くにはどうすればよいですか?
-
[解決済み] sudo使用時に環境変数を保持する方法
-
[解決済み】vimの「sudoで書く」トリックはどうやるの?
-
[解決済み】ノーアップとアンパサンドの違いについて
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】stdinがターミナルでないため、疑似ターミナルが割り当てられない
-
[解決済み】画面 ターミナル '/dev/pts/0' を開くことができない - 確認してください。
-
[解決済み] CHECK_NRPE: Error - SSLハンドシェイクを完了できませんでした。
-
[解決済み] Linuxのシェルでwebsocketの応答を読み取る方法
-
[解決済み] という記号がありますが、これはどういう意味ですか?
-
[解決済み] diffツールの1c1とはどういう意味ですか?
-
[解決済み] モスキートクライアントの取得が接続を拒否
-
[解決済み] bashの「#$」はどういう意味ですか?
-
[解決済み] grepコマンドで特定の列にマッチングさせる
-
[解決済み] Solaris では lsof -i が相当します。