Jak zamknąć filezilla przez terminal


12

Pracuję tymczasowo na plikach serwera za pośrednictwem filezilla w Ubuntu 11.10. Czasami, gdy zamykam plik z mojego IDE, Filezilla ulega awarii i nie działa poprawnie. Jeśli spróbuję zamknąć filezilla, nie zostanie ona zamknięta. Czy jest więc jakiś sposób na zamknięcie filezilli przez terminal? Każda pomoc mile widziana. Dzięki.

Odpowiedzi:


15

Jeśli proces przestanie odpowiadać, możesz wymusić zabicie go z terminala za pomocą

pkill -9f nazwa-procesu

Na przykład

pkill -9f filezilla


2
Należy starać bez -9 pierwszy (ale wciąż z -f). Korzystanie -9zabija go na KILLsygnale . Jeśli można go zabić z tym TERMsygnałem , że ma szansę oczyścić pewne rzeczy się pierwszy (na przykład, może być w stanie napisać zawartość otwartych buforach plików, lub wyraźnie zwolnić zasoby, które mogą nie być tak skutecznie odzyskane przez system po nagłym zakończeniu). Więc pkill -f process-namenajpierw polecam .
Eliah Kagan

5

Wykonałem poniższe kroki, aby zamknąć filezilla.

W terminalu wpisz poniżej, aby wyświetlić listę wszystkich uruchomionych procesów.

ps -A

Spowoduje to wyświetlenie listy uruchomionych procesów. Znajdź identyfikator procesu o nazwie „filezilla” i zabij proces. W moim systemie identyfikator procesu to 1759.

kill 1759

Filezilla zamknie się natychmiast. Dzięki.


1
Wskazówka: Możesz potokować wyjście ps do grep, aby łatwo odfiltrować inne procesy. Oznacza to, że ps -A | grep filezilla.
skytreader

1

Ze względu na to, ile razy awarie Filezilli spowodowały, że wykonałem polecenie, które zabija go od razu powyżej, możesz użyć tego do uruchomienia dowolnego polecenia, ale w tym przypadku zrobiłem to dla Filezilla.

Utwórz nowy plik , nazwij go tak, jak chcesz, po prostu upewnij się, że ma rozszerzenie polecenia.

zadzwoniłem do mnie killzilla.command

Wewnątrz pliku ma jedną linię

pkill -9f filezilla

Teraz, gdy tylko Filezilla się zamyka, dwukrotnie klikam na ten przycisk, uruchamiam go w terminalu i natychmiast zgonu z powodu bólu we mnie


Tam naprawdę najlepiej jest spróbować zabić SIGTERM przed wysłaniem SIGKILL.
Eliah Kagan

nie wiem jak przegapiłem twój komentarz tam, nie wyglądając właściwie bez wątpienia, utworzę inny plik poleceń. liek powiedziałem, że to się naprawdę często zdarza. Mogę powiedzieć dokładnie, kiedy to się dzieje, jest to menu prawego kliknięcia, które robi to za każdym razem, jeśli zdarza mi się flickign pomiędzy edycjami a fz a i przypadkiem źle klikam i przycinam menu, które jest dokładnie wtedy, gdy zamyka się. prawdopodobnie robię to kilka razy w tygodniu.
Chris

1
Zautomatyzowanie tej funkcji może być trudne, choć można to zrobić. Wysłanie SIGKILL bezpośrednio po SIGTERM często uniemożliwia zakończenie obsługi SIGTERM, a SIGKILL może nawet dotrzeć przed SIGTERM. Im dłużej chcesz, tym mniej prawdopodobne jest kontynuowanie obsługi SIGTERM, ale tym bardziej prawdopodobne ( jeśli się powiedzie), że użytkownik uruchomił już inną instancję. Nawet spanie przez 250 milisekund niesie ze sobą znaczne ryzyko, że użytkownik ponownie uruchomi aplikację. Rozwiązaniem jest pobranie samego identyfikatora PID (nieużywanego od razu), a następnie użycie killpolecenia.
Eliah Kagan

Mam tylko dwa osobne pliki na biurku. Mógłbym po prostu otworzyć terminal, ale jestem leniwy, co nie minie wątpliwości, gdy tylko Windozy wyjdzie z mojego systemu, 15 lat tam trudno jest wstrząsnąć :) Sam powinienem być w porządku, ale dobrze jest wiedzieć tego rodzaju rzeczy . Z dnia na dzień uczę się więcej o Linuksie. Pracuję z tym od około 12 miesięcy, ale zawsze pojawia się coś nowego i interesującego. Dzięki za wskaźnik, przy okazji, z pewnością warto go poznać.
Chris

Użycie dwóch osobnych, ręcznie wywoływanych skryptów do wysyłania SIGTERM i SIGKILL jest również doskonałym rozwiązaniem! Możesz zaktualizować swoją odpowiedź. Możesz użyć przycisku edycji , aby zmienić dowolne pytanie lub odpowiedź.
Eliah Kagan
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.