問題タブ [tty]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - Perl スクリプトがターミナルで実行されているかどうかを確認するにはどうすればよいですか?
Linux の Perl スクリプト内で、ターミナルで実行されているかどうかを判断しようとしています。
つまり、次のコードが必要です。
- コマンドラインで単純に実行すると true を返します
./myscript.pl | less
また、実行中または場合でもtrue を返します./myscript.pl </dev/null >/dev/null 2>/dev/null
- cron ジョブで実行する場合、または CGI スクリプトとして実行する場合は false を返します
-t STDOUT
特に第2弾のせいでバリエーションが使えないし、 IO::Interactiveも使い物にならない。
情報は入手可能のようです。を実行すると、を実行しても、cron ジョブまたは CGI スクリプトとして実行しても、列のps
ようなエントリが表示されます。pts/2
TTY
./myscript.pl </dev/null >/dev/null 2>/dev/null
?
Perlスクリプトでこれを決定するエレガントな方法はありますか? の出力を解析する必要はありませんps
。
shell - バックグラウンド シェル スクリプトで netcat/cat を使用する (Stopped (tty 入力) を回避するには? )
要約: インタラクティブなタスクをバックグラウンドで実行するには?
詳細: この単純なスクリプトを ash シェル (Busybox) でバックグラウンド タスクとして実行しようとしています。
myscript.sh&
ただし、スクリプトはすぐに停止します...
[1]+ 停止 (tty 入力) myscript.sh
myscript.sh の内容... (関連する部分のみ、それ以外は SIGINT、SIGHUP などをトラップします)
簡単なコマンド ライン テストから、bot cat と netcat が tty から読み取ろうとしていることがわかりました。この netcat バージョンには、tty を抑制するための -e がないことに注意してください。
myscript が停止しないようにするにはどうすればよいでしょうか。
私が成功せずに試したこと:
1) netcat/cat ... < /dev/tty (または の出力tty
)
2) () を使用してサブシェルで cat と netcat を含むブロックを実行します。これはうまくいくかもしれませんが、猫のPIDを取得する方法は?
あなたの専門家に...
問題はまだ存在します。皆さんが試す簡単なテスト:
1) 1 つのターミナルで netcat -l -p 11111 を実行します (& なし)
2) 別のターミナルで netcat localhost 11111 & を実行します (これはしばらくすると停止し、Stopped (TTY input) というメッセージが表示されます)
これを回避する方法は?
ssh - rsync が「stdin is not a tty」というメッセージで終了する
SSH アクセスできるリモート サーバーに rsync を使用したいと考えています。次のコマンドを使用します。
rsync -e 'ssh -p 22222' -rtz --delete content_dir/ user@example.com:/home/user/public_html
コマンドを入力すると、リモート ロケーションのパスワードを要求されます。入力すると、次のメッセージで終了します。
stdin: tty ではありません
rsync にパスワードを提供するにはどうすればよいですか? 提案された方法は、シェルスクリプトで使用する場合にも機能するはずです。
java - unix ps コマンドの TTY は何を意味しますか?
PS を実行すると、列の出力の 1 つが TTY になります。これは何を意味するのでしょうか?特に、「??」の値としてはどうですか?「ttys000」と比較?
Java プログラムsort
を ProcessBuilder 経由で実行しているため、このプログラムを IDE (IntelliJ) 経由で実行すると、IDE の外部で実行可能な jar として実行する場合よりもプロセスにかかる時間が 5 分の 1 になります。
いずれの場合も、並べ替えの実行中に ps を実行します。唯一の違いは、IDE が ?? の TTY を持つプロセスを作成することです。一方、jar は ttys000 の TTY でプロセスを作成します。
php - TTY、SWIG、PHP
ここで助けが必要です。tty 経由で組み込みモジュール (ArchLinux) と通信するための C++ ライブラリがあります。このライブラリは、swig を使用して php にコンパイル/変換されました。
現在の問題は、php で記述され、コマンド ラインから実行されるサンプル プログラムは期待どおりに実行されますが、この同じコードが Web ページの機能の一部として使用されると、実行に失敗することです。
私の限られた Linux の知識に基づく私の仮定は、tty を実行するにはコンソールが必要であり、それが Web ページの一部として実行できない理由でしょうか??
どうすればこれを機能させることができるかについて、誰かアイデアがありますか? posix_ttyname の使用について読んだことがありますが、その使用法を示すコード サンプルが見つからないようです。
レビュー用に機能するテスト main.php とともに、問題のある c++ ファイルを添付しました。
みんな、ありがとう
python - ctrl-d を 2 回入力する必要があるのはなぜですか?
私自身の娯楽として、bash のワンライナーに Python を使用できるようにする Python スクリプトを作成しました。Python ジェネレータ式を指定します。スクリプトはそれを繰り返します。スクリプトは次のとおりです。
そして、これがあなたがそれを使用する方法です。
意図した用途では、それは完全に機能します!
ただし、パイプを使用せずに直接呼び出す場合、たとえば次のようになります。[入力した内容を示すために強調を追加]
入力の受け入れを停止して出力を生成するには、-または Enter- -のいずれかを入力する必要があります。これは、各行が入力されたとおりに処理され、いつでも入力するとスクリプトが終了するという私の期待に反しています。私の理解のギャップはどこにありますか?Ctrl DCtrl DCtrl DCtrl DCtrl DCtrl D
編集:インタラクティブな例を更新して、彼の回答で引用ウィムが説明していないことを示し、さらにいくつかの例も示しました。
c++ - どのシリアルデバイスがコンソール(Linux)にリンクされていますか?
どのシリアルデバイス(/ dev / ttyS0-X)がコンソールにリンクされているかを調べて、同時発生の問題を防ぐためにそれらが開かないようにスキップできるようにしたい。これは、すべてのttyデバイスをチェックし、使用可能な(コンソールにリンクされていない)シリアルデバイスの選択を返す汎用C /C++関数内で実現する必要があります。
LinuxカーネルやC/C ++ファイルライブラリなどからそのような情報を取得する方法はありますか?
linux - 疑似 tty で slattach を実行する
Linux OS で疑似 tty のペアを介してネットワーク接続を開こうとしています。
OK、これは疑似 tty の「作成側」でした。
/dev/pts を調べて、そこで新しい pty を見つけることができます。こちら側でも slattach を使用しようとすると、次のようになりました。
私はstraceでトレースしました:
これはすべて、10.04 と 11.04 でテストされた ubuntu のさまざまなディストリビューションで発生し、どちらも失敗しています。
私が間違っていることは何ですか?
r - R (統計パッケージ) を bash スクリプト内で実行するときにキーボード プロンプトを待機させる
私は R を使用して、ループ内で一連のプロットを生成しています。ユーザーはエンター キーを押して、プロットを見たことを示し、次に進む時間です。これらは、rgl パッケージで生成されたインタラクティブな回転可能なプロットであるため、Sys.sleep() のようなものを使用するのは十分ではありません。
現在、R をインタラクティブに実行するときに find で動作する readline() を使用できます。ただし、R スクリプトを bash スクリプト内で実行したい場合、すべてのプロットが画面の前で点滅して表示されます。これは、次を使用して R を呼び出すと発生します。
R を一時停止して、bash サブプロセスとして実行するときにユーザーがヒットするのを待つにはどうすればよいですか?
linux - QFileDialog は、Linux の /dev/ にある tty* ファイルを一覧表示しません
USB シリアル ポート (通常は /dev/ttyUSB0 または /dev/ttyUSB1) を開く必要がある Linux デスクトップ アプリケーションに取り組んでいます。QFileDialog を使用して、ユーザーがファイルを選択できるようにしています。
FileDialog を /dev に向けると、「ls /dev -al」と入力して表示できるファイルがありません。ディレクトリは表示されますが、たとえば、このファイルは表示されません。
私のユーザーは、dialout グループのメンバーです:
QDir::Readable と QDir::Writable を追加しようとしましたが、上記のファイルはまだ表示されません。私は何を間違っていますか?