Saya menggunakan browse-url
/ browse-url-firefox
untuk membuka tautan di Firefox dari dalam Emacs 24.5.1 di Linux (Fedora 23) yang intinya mengeksekusi firefox
executable dengan URL dengan start-process
. Jika sudah ada instance Firefox yang sedang berjalan, ini pada gilirannya akan menyebabkan URL dibuka di tab baru dan menghentikan firefox
executable yang muncul dari Emacs, tetapi sebaliknya instance Firefox baru akan berjalan sebagai anak proses dari Emacs (untuk tujuan pengujian , ini setara dengan M-! sleep 1h & RET
).
Jika saya kemudian ingin keluar dari Emacs, ia bertanya kepada saya, "Proses aktif ada; bunuh mereka dan keluar juga?" dengan opsi untuk membunuh instance Firefox atau, yah, biarkan Emacs tetap berjalan. Alih-alih, saya ingin "melepaskan" firefox
proses dari induk Emacs sehingga saya dapat keluar dari Emacs sambil menjaga instance Firefox tetap berjalan.
Apakah mungkin untuk menelurkan proses dari Emacs yang "bertahan" keluar dari Emacs, atau haruskah semua proses melahirkan mati ketika Emacs keluar?
start-process
(seperti penampil pdf) dan Emacs berpikir pekerjaannya telah selesai.Jawaban:
inilah solusinya, korslet jawaban abo-abo.
Perhatikan bahwa kondisi ini diperlukan, karena Mac tidak memiliki setid.
sumber
Inilah perintah yang melakukan apa yang Anda inginkan:
Kuncinya di sini adalah menggunakan
nohup
.Lihat sumbernya di sini .
sumber
nohup
adalah solusi yang bagus. Sayangnya saya menemukan jawaban Anda terlalu "mengganggu" bagi seseorang yang hanya mencari cara untuk mencapai tujuan. Bisakah Anda memotong sumber menjadi sesuatu seperti(shell-command "nohup sleep 1h &")
dan menambahkan catatan eksplisit bahwa "melepaskan" dari proses yang ada tidak mungkin sehingga saya dapat menerima jawabannya?