タグ付けされた質問 「process」

3
バッファをポップアップせずにバックグラウンドで非同期プロセスを実行するにはどうすればよいですか?
async-shell-command.emacs を使用して非同期バックグラウンドプロセスを実行する関数をいくつか定義しましたが、コマンドを実行するたびに新しいウィンドウ(フレームではない)が作成され、プロセスのバッファーが表示されます。「ポップアップ」バッファなしでコマンドを実行するにはどうすればよいですか?
23 shell  async  process 

2
確認なしでプロセスバッファを強制終了しますか?
にC-x C-kバインドしていkill-this-bufferます。しかし、PythonやMySQLのようなプロセスを実行しているバッファに入ったら、C-x C-kそれを尋ねる バッファ「* Python *」には実行中のプロセスがあります。殺す(yまたはn)? 確認なしでプロセスバッファを強制終了するにはどうすればよいですか?

1
アクティブなM-を回す!into M-&(a'ka emacsはbash Ctrl-Zに相当)
ときどきM-! some_command、コマンドが予想よりも長く実行され、emacsが長時間フリーズされたままになることがあります。だから、凍結したemacsをglみ、使用しないことで自分を蹴り、次回M-& some_command使用することを約束しますM-&。しかしM-!、何十年も私の筋肉の記憶にあります...そしてもちろんありますがCtrl-G、コマンドを中断して再実行することが好ましくない場合があります(おそらく、それはsthを中断する可能性があり、おそらくは再実行に費用がかかります...)。 シェルkonsoleでの同様の間違いは修正するのは簡単Ctrl-Zでbg、ジョブはバックグラウンドで実行されています。 emacsに同様のトリックがありますか?現在実行中のフォアグラウンド(同期)コマンドをバックグラウンド化(非同期)コマンドに変える方法はありますか? 注:default が不可能な場合M-!、私はM-!他の何かに再バインドする方法の提案を受け入れます(このトリック以外は機能的に同等です)。

5
emacsにはプロセスビューアー(リソースマネージャー)または同等のものがありますか?
時折、emacsはCPU使用率100%に達することがあります。明らかにこれが発生すると、暴走プロセスに問題があります。 emacsで実行中のすべてのプロセスを表示する方法があるかどうか疑問に思っていますか? Unix htopのようなもの、インタラクティブなシステムプロセスモニターとビューア... htop
14 process 

2
子プロセスを「切り離す」ことは可能ですか?
私はbrowse-url/ を使用しbrowse-url-firefoxて、本質的にfirefoxによってURLで実行可能ファイルを実行するLinux(Fedora 23)の下のEmacs 24.5.1内からFirefoxでリンクを開きますstart-process。すでにFirefoxインスタンスが実行されている場合、これにより、URLが新しいタブで開かれ、firefoxEmacsから生成された実行可能ファイルが終了しますが、それ以外の場合、新しいFirefoxインスタンスはEmacsのプロセスの子として実行されます(テスト目的) 、これはM-! sleep 1h & RET)と同等です。 次にEmacsを終了したい場合は、「アクティブなプロセスが存在します。強制終了して、とにかく終了しますか?」Firefoxインスタンスを強制終了するか、Emacsを実行したままにするかを選択できます。代わりにfirefox、Firefoxインスタンスを実行したままEmacsを終了できるように、Emacs親からプロセスを「切り離す」ことを望みます。 Emacsから終了する「生き残る」Emacsからプロセスを生成することは可能ですか、またはEmacsの終了時に生成されたすべてのプロセスを終了させる必要がありますか?
10 linux  process  exit 

3
プロセスの出力を* Messages *バッファーに送信しますが、エコー領域はバイパスします
プロセスフィルターから*Messages*バッファーに出力を送信し、そのメッセージ出力がエコー領域に表示されないようにしminibuffer-promptて、進行中のサブプレスフィルター出力によって消去されることなくインタラクティブコマンドを同時に使用できるようにすることはできますか? (defun rsync-process-filter (proc string) (when (not (or (string-match "files...\r" string) (string-match "files to consider\n" string))) (message "%s" string))) 編集(2015年1月3日):以下は同様の質問へのリンクですが、正確な文字列が不明であるプロセス文字列で動作させることはまだできていません-スレッドのタイトルはEmacsです:-一部のミニバッファメッセージを無効にする: /superuser/669701/emacs-disable-some-minibuffer-messages

4
シェルプロファイルと現在のディレクトリフックを使用してシェルコマンドを実行する方法(例:direnv)
私はファイル内のいくつかのプログラム、特にこの例ではdirenvを取得shell-commandしasync-shell-commandてシームレスに統合しようとしてい.bashrcます。 をカスタマイズした場合shell-command-switch、通常のインタラクティブログインシェルであるかのように、シェルプロセスでプロファイルをロードできることがわかりました。 (setq shell-command-switch(purecopy "-ic")) (setq explicit-bash-args '( "-ic" "export EMACS =; stty echo; bash")) 私はexec-path-from-shellも使用しています。 次のような~/.bashrcファイルがあるとします。 ... eval "$(direnv hook $ 0)" 「foo」をエコー 内部~/code/fooには次の.envrcファイルがあります: エクスポートPATH = $ PWD / bin:$ PATH 「バー」をエコー set to で実行するM-x shellと、bashシェルはプロファイルを正しくロードし、direnvフックを実行してパスに追加します。default-directory~/code/foo direnv:.envrcの読み込み バー direnv:エクスポート〜PATH 〜/ code / foo $ echo $ PATH / Users …

3
Mxコンパイルの永続的な環境
実行M-x compileすると、新しいサブシェルが生成され、コンパイルコマンドが実行されます。コンパイルコマンドが戻るとすぐに、シェルプロセスは強制終了されます。これがほとんどの場合に望ましい理由はわかりますが、現在は役に立たない状況にあります。 現在、専用のビルド環境で作業しています。コンパイラーを実行する前に、ビルドをセットアップするためにいくつかの初期手順を実行する必要があります。環境が持続する限り、セットアップ手順を1回だけ実行する必要があります。しかし、それを使用M-x compileすると、コンパイルまたは再コンパイルするたびに手順を実行する必要があることを意味します。 バックグラウンドで持続するサブシェルを生成する方法はありますか?一つM-x compileとM-x gdb彼らはシェルプロセスを実行する必要があるたびに使用することができますか? 動機: xcc特別なプラットフォーム用のCコードをビルドするプログラム(これをと呼びます)があります。コードをビルドするには、まずプロンプトxccから始めtcshます。 $ xcc プログラムの読み込みに10秒以上かかり、インタラクティブプロンプトでコマンドを入力できます xcc>> add target myprogram xcc>> set source myprogram $PROJDIR/src/ xcc>> set includes myprogram $PROJDIR/include/ xcc>> set type myprogram primitive xcc>> set inputs myprogram int8,int8 xcc>> set outputs myprogram fix16,fix16 xcc>> build myprogram 上記の手順はカスタムマクロに組み込むことができるbuildmyprog.macroので、シェルから直接、またはemacsから実行できます。M-x compile $ xcc buildmyprog.macro このアプローチの主な問題は、xccコンパイルが始まるまでにプログラムのロードに10秒かかることです。私はすべての時間、私は私が実行し始めていることをコンパイルし、余分な10秒待っているの疲れ十分に得xccにansi-term別のバッファでは。コードを変更して保存した後、ansi-termバッファに切り替えて実行します …

2
call-process / shell-commandにタイムアウトを適用しますか?
場合によっては、作業を外部プロセスに委任するときに、コマンドにタイムアウトを設定して、Emacsが無期限にハングアップするのを防ぐと便利です。 残念ながら、以下は機能しません。 (with-timeout (1 nil) (call-process "/usr/bin/bash" nil t nil "-c" "sleep 10")) 同じことがについても言えshell-commandます。 これらの同期プロセスにタイムアウトを設定する方法はありますか? つまり、プロセスが特定の秒数以内に完了しない場合、プロセスが自動的に強制終了されるようにしたいです。それは可能ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.