Łącząc limit czasu i cpulimit


Mam sytuację, w której proces, który zawiesza się w pewnych okolicznościach lub działa zbyt długo, musi zostać zakończony. Nie chcę też, aby proces zajmował 100% czasu procesora. Myślę, że powinienem kombinować
       cpulimit
i
       timeout
.
Mogę sprawić, by każde polecenie działało osobno, ale nie razem:
cpulimit -l 20 --/usr/lib/libreoffice/program/soffice.bin --headless --convert-to pdf broken.docxtimeout -k 6 -s 15 6s/usr/lib/libreoffice/program/soffice.bin --headless --convert-to pdf broken.docx

Chciałbym zrobić coś takiego:
cpulimit -l 20 -- | timeout -k 6 -s 15 6s/usr/lib/libreoffice/program/soffice.bin --headless --convert-to pdf broken.docx

Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Możesz spróbować biegać
         timeout
polecenie jako argument
         cpulimit
:
cpulimit -l 20 -- timeout -k 6 -s 15 6s/usr/lib/libreoffice/program/soffice.bin --headless --convert-to pdf broken.docx

Zwróć uwagę, że jest to dokładnie to samo, co w poprzednim przykładzie, ale bez potoku
         |
(potok łączy wyjście pierwszego procesu z wejściem drugiego, czego tutaj nie potrzebujesz).
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Skończyło się na używaniu
         nice
z
         timeout
zamiast. Jeden problem z
         cpulimit
i
         timeout
kombinacja była taka
         soffice.bin
spowodowało powstanie wielu procesów, a proces nadrzędny był w jakiś sposób nienaruszony.
To rozwiązało mój problem.
Również
         nice
zamiast poważnie ograniczać zasoby, pozwól procesowi wykorzystać 100% mocy procesora, jeśli żadne inne procesy nie są uruchomione.
         nice timeout -k 5 6s/usr/lib/libreoffice/program/soffice.bin --headless --convert-to pdf broken.docx

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się