友人はリモートコンピュータを使用して自分のコンピュータにSSHとして接続し、次のPythonスクリプトを実行しました。
そして(1):
...."Hello World" 印刷
(このスクリプトは「hello world」を印刷し続けます)。
今私のコンピュータにログインしました。友達が実行しているスクリプトの出力をどのように表示できますか?
助けになれば、私の友人が使っているスクリプトを「発見」することができました。
me@home:~$ ps aux grep justprint.py |
友達7494 12.8 0.3 7260 3300? SS 17:24 0:06 Python TEST_AREA/justprint.py
友達 7640 0.0 0.0 3320 800ポイント/3 S+ 17:25 0:00 grep --color=auto ただ
画面に「hello world」メッセージを表示するにはどのような措置を講じる必要がありますか?
ベストアンサー1
通常、他の人が作成したプログラムの出力は表示されません。その列であなたのgrepコマンドがttyで実行されているpts/3
のに対して、友達のコマンドはttyで実行されていることを確認してください?
。これは、端末から切り離されたことを意味します。
出力がどこに行くかを見ることができますls -l /proc/7494/fd/
(ここで7494は友達プロセスのプロセスIDです)。ルートとして実行しないと、セキュリティ上の理由からこれを見ることができない可能性があります。 (一度試してみてくださいsudo ls -l /proc/7494/fd/
。)
プログラムの出力がどこに行くのかを変更するために、ひどい、ひどい、愚かなことをすることもできます。しかし、一般的に言えば、これを行うことはできません。
友達があなたの出力をあなたと共有したい場合は、プログラムの出力をファイルにリダイレクトしてからファイルを読み取ることができます。
$ python -u TEST_AREA/justprint.py > /tmp/justprint.out &
$ chmod a+r /tmp/justprint.out
(この場合、「自分で読むことができる」とは、「誰でも読むことができる」という意味です。もう少し努力すれば、2人だけが出力を交換できるように共有グループを設定できます。)
(Pythonはデフォルトで出力をバッファリングします。これをオフにすることが目的です-u
。)