問題タブ [qprocess]
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.
c++ - QProcess が無効になり、再起動できなくなります
QProcess オブジェクトのリストを使用して、ユーザー定義の間隔で開始/停止する必要があるプロセスを追跡しています。
プロセスを開始および停止できます。しかし、次の方法 (疑似コード) を使用してプロセスを停止すると、問題が発生します。
ただし、別の時点でプロセスを再度開始しようとすると、次のエラーが発生します。
ps -ef|grep processName を実行すると、実際に停止していることがわかりますが、機能していない状態にあるため、再起動できないと思います。
この廃止された状態を防ぐために、または廃止されたメソッドを削除して、再構築せずにプロセスを再開するにはどうすればよいですか?
qt - 子プロセスの標準入力は、親プロセスから送信されたデータを取得しません
親プロセス"Message\n"
が子プロセスの stdin に文字列を書き込みます。しかし、子プロセスはそれを受け取りません。コードのどこに問題がありますか?
Qt 4.7.3
親プロセス コード:
子プロセス コード:
c++ - Qprocess が私の Linux コマンドを台無しにします (私はそう思います)。直し方?
c++ QT4 アプリケーションが Linux コマンドから結果を読み取るように強制する必要があります。私は Qprocess を使用しようとしていますが、コマンドが複雑になるとすぐに、何らかの形で混乱し (推測だけ)、機能しません。
ここで私はあなたのために小さな例を作ろうとします:
これは印刷されます:
while をコンソールから実行すると、ファイル名が正しく出力されます。
コマンドをもっと単純なものに置き換えると、スムーズに command = "ls -l";
動作します。エラーは、OS によって標準エラーで返されます。
したがって、コマンドに使用される Qstring が何らかの形で操作されると思います。何が起こっているかについて何か考えはありますか?
mysql - QProcessを使用してMySQLデータベースを復元すると、「<」のような単純なリダイレクトでは実際には機能しません。
したがって、最初にQFileDialogによってファイル名をfNameに取得し、次のようにします。
しかし、これは機能しません。「mysql --help」の出力が常に表示されますが、間違ったパラメーターが指定されているようです。ただし、これは手動で実行してください。
qt - start() での QProcess セグメンテーション違反
プログラムビルダークラスを書いています。そして、セグメンテーション エラーがあります。
そして.cpp:
私のコードは、loadSource(QString) を与えるプログラムをコンパイルする必要があります。
start() 関数プログラムを開始すると、SISSEGV シグナルが返されます。エラーが表示されません。
c++ - QProcessはWindowsでどのように機能しますか
QProcessがどのように機能するかを学び、この種のコードを作成しようとしています。
プロセス「プログラム」は、main.cppとMakefileの2つのファイルがあるフォルダ「H:\sample」で実行する必要があります。
私の期待は、「make」が「all」引数で呼び出されることです。プロセスの出力(ファイル "H:\ processOutput.txt")を調べると、テキスト "main"のみが表示され、コンパイルの出力はありません。
cmdで「makeall」を実行すると動作し、通常の結果、main.exeが生成されます。「done...」という行が表示されるため、コード全体が最後まで実行されているように見えます。私は何が欠けていますか?
qt - QProcess::startDetached() はメモリリークを引き起こしますか?
QProcess::startDetached() でプログラムを開始し、親プロセスが終了した後も実行を続けると、メモリ リークが発生しますか?
ありがとう !
qt - 自動アップデーターの例
さて、Googleで自動アップデーターを実行する方法を探していましたが、成功しませんでした。
私が計画しているのは、アップデーター (プリンシパル exe を介して QProcess によって呼び出される別の exe) を作成することですが、ここでいくつか質問があります。
QProcess をサイレントにするにはどうすればよいですか? 新しいバージョンがある場合、プロセスが開始されたウィンドウに通知を表示するにはどうすればよいですか (つまり、Game.exe でプロセスを作成したということです。Updater.exe から Game.exe に通知を送信したいのです)。新しいバージョンが利用可能であることを確認してください。)
答えてくれてありがとう。
qt - \r でテキスト ストリームを正しく処理するには? Qtを使用して、行をバッファリングしたい
Qt と QProcess を使用して、他のツールからデータを読み取り、アプリに出力しています。たとえば、「端末」であると考えてください。
QProcess::canReadLine() と QProcess:readLine() を使用してデータを処理していますが、これは素晴らしいことです。しかし、一部のツールは \r を使用してプログレス バーを画面に出力します。読み取られる行は決してないため、私のアプリはプロセスが終了して最後の行を印刷するまで待ちます。多くの行は \n ではなく \r で接着されています。
とにかく、QProcess に \r を改行としても使用するように指示する方法はありますか? QIODevice サブクラスを実装することを考えましたが、QProcess も再実装する必要があるため、最適なアプローチではないようです。
中間バッファーを使用することを考え、このバッファーを使用して「hasLine」をメイン プログラムに通知しました。QProcess::readyRead を使用してバッファーにデータを入力し、次にバッファーを使用してメイン アプリにデータを入力しますが、\r は改行としても問題ないことを Qt に伝えたいだけです。それは可能ですか?