問題タブ [nstask]
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.
objective-c - NSTask 起動パスにアクセスできません
Cocoa プロジェクトで次のコードを使用して、作成したスクリプトを呼び出しています。スクリプトはプロジェクトと同じフォルダーにあり、Xcode の "Resources" フォルダーの下にも表示されます。適切なパスが見つかりましたが、パスにアクセスできないと表示されます。助けてください。
デバッガーで得られる出力は次のとおりです。
2010-07-10 17:53:26.384 tester[5023:a0f] /Users/guest/Library/Developer/Xcode/DerivedData/tester-bhukztmqjwoqrwereagsshvtbfqx/Build/Products/Debug/tester.app/Contents/Resources/script.sh
2010-07-10 17:53:26.386 tester[5023:a0f] launch path not accessible
objective-c - / bin/shまたは/bin/bashの問題を介して引数を送信するNSTaskCocoaObjective-C
基本的に、ターミナルで/ bin /bash"[path]"または/bin/ sh "[path]"を介してスクリプトを渡し、ターミナルで/ bin / bash -c "[command ]"または/bin/ sh-c"[コマンド]"。どちらの方法も正しく機能します。しかし、私のCocoaアプリでは、NSTaskでまったく同じことを実行しようとすると(/ bin/bashまたは/bin/ shを使用)、アプリが応答しないようです。これは、プログラムがbashまたはshの内部でスタックしているようです。私はwaitUntilExitを使用して、または使用せずにこれを実行しようとしました。また、terminateを使用しようとしました。まだ運がない。他の誰かがこの問題を抱えているか、なぜこれが起こっているのかについての手がかりを持っていますか?
ありがとう!
PS現在、仕事用のコンピューターを使用していませんが、必要に応じて、後でコードを提供できます。
cocoa - Cocoaを使用したコマンドラインユーティリティのGUIの作成
一部の同僚がコマンドラインユーティリティにアクセスしやすくするために、(Cocoaを使用して)GUIを作成する方法を探しています。NSTaskを使用してユーティリティを実行/開始する場合、別のNSTaskを使用して次のコマンドを実行できますか(前の手順で起動したユーティリティを使用)?つまり、同じセッションを使用しますか?私の質問が十分に明確であることを願っています。
objective-c - 自動解放された NSTask が NSOperation スレッドの実行ループを無期限にブロックするのはなぜですか?
NSTask
内からを起動しようとしているときに に遭遇しましたNSOperation
。
これは、問題を紹介するためにまとめた非常に単純なアプリです。ボタンをクリックすると、NSOperation
がキューに入れられます。をセットアップしNSRunLoop
、 を呼び出すメソッドを呼び出しますNSTask
。タスクは非常に単純です。2 秒間起動するだけ/bin/sleep
です (正常に動作しているときにスピナーを簡単に確認するのに十分な時間です)。
アプリは宣伝どおりに動作しますが、TaskPerformer.m の 23 行目をautorelease
, (申し訳ありませんが、私は新しい投稿者なので、直接リンクできません) に変更するか、完全にコメントアウトすると (NSTask
オブジェクトがリークします)、NSOperation
「 s スレッドは決して終了しません。メインの実行ループが何かをブロックしているようです。
さて、ここでの問題は 2 つあります。まず、スレッドがブロックされている理由がわかりませんが、さらに、このアプリケーションのガベージ コレクションをオンにすると、同じ動作が現れます。を手動で解放する方法がないためNSTask
、スレッドは何があってもブロックされます。
誰かが私に何が起こっているのか教えてくれたら、私は永遠に感謝します!
objective-c - nstaskからのデータの取得-コマンドラインとの通信-Objectivec
タスクにデータを送信する方法を知っています:
しかし、タスクが応答するものを取得するにはどうすればよいですか?
エリヤ
objective-c - NSTask NSPipe - Objective C コマンド ライン ヘルプ
これが私のコードです:
だから私はこれを複製しようとしています:
ただし、objective-c で NSTask を使用します。
ただし、何らかの理由で、このコード stringRead を実行すると、何も返されません。.sh ファイルを起動すると、端末が返すものを返す必要があります。正しい?
何か案は?
エリヤ
objective-c - コードの問題 - 目的 c - 文字列値が文字列値に現れるのを待っている
わかりました、それが私のコードです。SH ファイルを起動し、出力を読み取ります。しかし、結果を言って出力する前に、文字列に「Jarvis>」が表示されるまで待ちたいと思います。しかし、while ループではコードがフリーズするようです。それがなければ、server.sh ファイルを起動する通常の出力を読み取りますが、すべてを読み取ります。これが機能しない理由はありますか?
Server.sh ファイルは次のとおりです。
java - NSTaskの出力が表示されません-objective-cJAVA
これが私のコードです:
しかし、outputStringは何も返さず、whileループでスタックします。server.shファイルは次のとおりです。
objective-c - 複雑なパイプラインを実行する NSTask の例
誰かがこれを表示するコードを投稿できますか?
エリヤ
java - NSTaskを使用して.shファイルを実行し、その出力を取得するにはどうすればよいですか?
.shファイルを実行してその出力を取得する必要があります。ファイルの設定も確認する必要があります。
.shファイルは、ターミナルを介してJavaアプリを実行するだけです。
何か案は?私は本当にこれに固執しています.....
エリヤ
server.shファイル:
私の現在のコード:
NSRunAlertPanelは、出力をチェックするためだけのものです。今、私のコードはフリーズしていて、アラートパネルにさえ到達していません。