別のプログラムを開始する必要があるプログラムがあります。Mac では system("open path") を使用してこれを行いましたが、Linux では機能しません。system(./path) を使用することは、実行中のプログラムを追い越すため、私が望むものではありません。
Linuxでmacの「open path」コマンドと同じ動作を得る方法はありますか?
(Linux初心者ところで:p)
別のプログラムを開始する必要があるプログラムがあります。Mac では system("open path") を使用してこれを行いましたが、Linux では機能しません。system(./path) を使用することは、実行中のプログラムを追い越すため、私が望むものではありません。
Linuxでmacの「open path」コマンドと同じ動作を得る方法はありますか?
(Linux初心者ところで:p)
アプリケーションを GUI 環境で実行している場合、これは可能ですが、アプローチは異なります。新しい端末インスタンスを明示的に開始する必要があります。
端末アプリケーションへのパスを決定します。これは Linux ディストリビューションに依存します。次に、その特定の端末アプリケーションのドキュメントを確認し、シェルの代わりにアプリケーション (自分のアプリケーション) を実行するために開始する方法を見つけてください。これには、アプリケーション固有のコマンド ライン オプションの使用が含まれる可能性があります。目的の結果が得られるコマンド ラインが表示されるまで、ターミナル ウィンドウでテストします。アプリケーションにコマンド ライン引数も必要な場合は、少し複雑になる可能性があります。必要に応じて -- オプションを使用してください。
あとは、「親」アプリケーションからそのコマンド ラインを実行するだけです。ただし、system() は使用しないことをお勧めします。exec... ファミリ関数 (fork と wait を使用) は、より適切な制御を提供します。