Jak zabić libreoffice z linii poleceń

15

Używam 64-bitowego systemu Ubuntu 12.04.4 LTS. Mój pakiet LibreOffice (szczególnie Writer) zawiesza się.

Jak mogę zabić LibreOffice i czy mogę zabić tylko pisarza? (nie Calc, Impress, ..)

Próbowałem wyszukać proces wykonywalny w Monitorze systemu i wierszu poleceń ( ps), ale go nie znalazłem.

EDYCJA : Chcę coś takiego:

pkill -9 writer

Potrzebuję jakiegoś zminimalizowanego polecenia.

Kamil
źródło

Odpowiedzi:

26

Pierwsze wyszukiwanie otwartych plików libreoffice:

ps aux | grep libre

Na przykład mój wynik to:

hadi  21426  0.1  0.0 205328  3468 ?        Sl   14:17   0:00 /usr/lib/libreoffice/program/oosplash --writer
hadi  21445  9.8  0.7 1269272 179872 ?      Sl   14:17   0:01 /usr/lib/libreoffice/program/soffice.bin --writer --splash-pipe=6

następnie

sudo kill -9 ID

ID jest drugim numerem (soffice.bin), a nie oosplash

więc w moim przykładzie:

sudo kill -9 21445

Potrzebujesz profesjonalnego Ok:

ps aux | grep -i office | awk {'print $2'} | xargs kill -9

mam nadzieję, że jest to profesjonalne w twojej ocenie !!

lub bardziej zminimalizowane polecenie

kill -9 `pgrep -lf soffice.bin | awk {'print $1'}`

lub więcej zminimalizowane zminimalizowane zminimalizowane polecenie

pkill soffice.bin

EDYTOWAĆ:

Wszystkie otwarte pliki libreoffice mają ten sam PID, dlatego nie można po prostu zabić pisarza i na przykład zachować impess.

Aby udowodnić mój punkt widzenia, narzędzie do odzyskiwania w biurze jest unikalne dla wszystkich plików. Co mam na myśli, jeśli zamkniesz program piszący we właściwy sposób, a następnie otworzysz na przykład wyciskanie, wówczas wycisk poprosi cię o odzyskanie pliku zapisu i tak się stało, a to potwierdza moją odpowiedź

Maythux
źródło
nie, zabijając biurowiec, zabije wszystkie programy libreoffice po otwarciu, spróbuje otworzyć impresję i pisarza i zabije ten proces zabije ich oboje, jest to proces nadrzędny
nux
op musi tylko zabić pisarza, może użyje go, by otworzyć kalkulatora i zaimponować pisarzowi :)
nux
@nux TAK, to ktoś, kto rozumie moją potrzebę
kamil
Nie możesz tego zrobić. Wszystkie otwarte pliki libreoffice mają ten sam PID.
Maythux,
Otwórz pisarz i zaimponuj i oblicz, a potem ps aux|grep officezobaczysz, że nie ma wpisów dla innych niż pisarz. Ponieważ wszystkie pliki dziedziczą ten sam PID.
Maythux,
3

Powinieneś spróbować:

killall soffice.bin
użytkownik3193559
źródło
1

służy ps -edo wyświetlania listy wszystkich uruchomionych procesów (nie tylko tych odradzanych przez bieżący terminal). Następnie możesz wyszukać szukaną nazwę (być może „pisarz” lub „Libre”). Jeśli znasz dokładnie nazwę, której szukasz, możesz użyć jej ps -e | grep writerdo przedstawienia wyników tylko dla tego procesu.

Powinieneś zobaczyć liczbę, która jest identyfikatorem procesu (PID). Aby zabić proces, wprowadź kill xgdzie xjest PID procesu. Powinieneś otrzymać wiadomość mówiącą coś w stylu killed 1 process. Jeśli proces nadal trwa, spróbuj kill -KILL xwymusić zamknięcie programu.

Hugo Buff
źródło
1
to nie działa mój drogi
kamil
Który bit nie działał?
Hugo Buff
ps -e | grep writernic nie zwraca
kamil
1
Musisz po prostu użyć ps -ei przeszukać nazwy dla właściwego procesu. writerbyło tylko przypuszczeniem.
Hugo Buff