ターミナルコマンドは、他のターミナルコマンドのライフサイクルに従います。

ターミナルコマンドは、他のターミナルコマンドのライフサイクルに従います。

私が達成したいのは、bashスクリプトであるか、2つの端末ベースのアプリケーションを並列に実行できるbash行の方が良いです。私はこのコマンドについて知っていますが、&私の;場合、両方のコマンドはターミナルを開いたままにし、正常に動作するために互いに必要であるため動作しません。これは極端なケースのように見えるかもしれませんが、私の具体的なユースケースは非常に簡単で、多くの同様の状況で役に立つと思います。

私が望むのはswoプロトコルを使用してUSBポートからメッセージを解析することですので、やや不快な解決策は次のとおりです。

  1. ターミナル1を開き、実行しますopenocd -f connect_swo.cfg(ターミナル1が停止します)。
  2. ターミナル2を開き、実行しますpython3 swo_parser.py(ターミナル2が停止し、ターミナル1が値を印刷します)。
  3. その後、2つの別々の信号で両方のctrl+cコマンドを終了します。

予想される解決策は次のようになります。

  1. 魔法コマンドを実行して、リンクされたセッションとは別のセッションで自分のコマンドをすべて開きます。
  2. 1 つのコマンドでctrl +c2 つのコマンドが終了します。

PS:スーパーユーザーに問題を移す必要がある場合は、コメントしてください。

ベストアンサー1

GNU Parallelを使用すると、次のことができます。

parallel --tty -j0 ::: 'openocd -f connect_swo.cfg' 'python3 swo_parser.py'

GNU Parallelがまだインストールされていない場合は、次の点を確認してください。https://oletange.wordpress.com/2018/03/28/excuses-for-not-installing-gnu-parallel/

おすすめ記事