Używam browse-url
/ browse-url-firefox
do otwierania linków w Firefoksie z Emacsa 24.5.1 pod Linuksem (Fedora 23), który w zasadzie wykonuje firefox
plik wykonywalny za pomocą adresu URL start-process
. Jeśli jest już uruchomiona instancja Firefox, spowoduje to otwarcie adresu URL w nowej karcie i zamknięcie firefox
pliku wykonywalnego spawnowanego z Emacsa, ale w przeciwnym razie nowa instancja Firefox będzie działała jako proces potomny Emacsa (do celów testowych , jest to równoważne M-! sleep 1h & RET
).
Jeśli następnie chcę wyjść z Emacsa, pojawia się pytanie „Aktywne procesy istnieją; zabić je i wyjść mimo to?” z opcją zabicia instancji Firefoksa lub pozostawienia uruchomionego Emacsa. Zamiast tego chciałbym „odłączyć” firefox
proces od rodzica Emacsa, abym mógł wyjść z Emacsa, utrzymując działającą instancję Firefoksa.
Czy jest możliwe odrodzenie procesów od Emacsa, które „przetrwają” wychodząc z Emacsa, czy też wszystkie odrodzone procesy muszą umrzeć, gdy Emacs wyjdzie?
start-process
(jak przeglądarka pdf) i Emacs uważa, że jego zadanie zostało zakończone.Odpowiedzi:
oto rozwiązanie, zwarcie @ odpowiedź abo-abo.
Zauważ, że warunek jest konieczny, ponieważ Mac nie ma setid.
źródło
Oto polecenie, które robi to, co chcesz:
Kluczową rzeczą jest tutaj użycie
nohup
.Zobacz źródło tutaj .
źródło
nohup
to dobre rozwiązanie. Niestety, twoja odpowiedź jest zbyt „rozpraszająca” dla kogoś, kto szuka sposobu na osiągnięcie celu. Czy możesz skrócić źródło do czegoś w rodzaju(shell-command "nohup sleep 1h &")
i dodać wyraźną notatkę, że „odłączenie” od istniejącego procesu nie jest możliwe, abym mógł zaakceptować odpowiedź?