Черупка

Как да създадете фиктивен зомби процес в Ubuntu 18.04 LTS

Как да създадете фиктивен зомби процес в Ubuntu 18.04 LTS

Като софтуерни тестери, понякога трябва да знаем как изглежда процесът на зомбиране в нашата система. Можем да провеждаме различни тестове върху него, ако знаем конкретно коя програма и идентификатор на процеса са свързани с този зомби процес.

Какво е зомби процес?

Зомби или неработещ процес в Linux е процес, който е завършен, но влизането му все още остава в таблицата на процесите поради липса на съответствие между родителския и дъщерния процес. Обикновено родителският процес поддържа проверка на състоянието на своите дъщерни процеси чрез функцията wait (). Когато дъщерният процес приключи, функцията за изчакване сигнализира на родителя да излезе напълно от процеса от паметта. Ако обаче родителят не успее да извика функцията за изчакване за някое от своите деца, дъщерният процес остава жив в системата като мъртъв или зомби процес. Тези зомби процеси могат да се натрупват в голям брой във вашата система и да повлияят на нейната производителност.

Когато стартирате горната команда и стартира зомби, тя ще бъде показана от втория ред на изхода, както следва:

Ако обаче във вашата система не се изпълнява процес на зомбиране, можете да създадете манекен за целите на тестването, както е описано в тази статия. Изпълняваме този процес на Ubuntu 18.04.

Създаване на зомби-процес

В този раздел ще напишем c програма за стартиране на зомби процес в нашата система.

Отворете текстов редактор и въведете следния код:

Код

#include  #include  #include int main () pid_t child_pid; child_pid = fork (); if (child_pid> 0) сън (60);  else изход (0);  връщане 0; 

Запазете този файл като зомби.° С

Процесът зомби, създаден чрез този код, ще се изпълнява в продължение на 60 секунди. Можете да увеличите продължителността на времето, като посочите време (в секунди) във функцията за заспиване ().

Отворете терминала и изпълнете следната команда, за да компилирате тази програма:

$ cc зомби.c -o зомби

Сега ще бъде създаден изпълним файл на име zombie.

Моля, обърнете внимание, че ще трябва да инсталирате компилатора GNU C, ако той вече не е инсталиран на вашата система чрез следната команда:

$ sudo apt-get install build-essential

Сега стартирайте програмата зомби чрез следната команда:

./ зомби

Ще видите следния изход:

По време на тестването можете да използвате идентификатор на родителски процес (PPID) и дете на процес (PID); например чрез убиване на този зомби процес чрез командата kill.

Докато този процес се изпълнява, можете да видите производителността на системата в друг прозорец на терминала чрез горната команда. Ще можете да видите 1 зомби процес през втория ред на изхода.

Командата ps също ще покаже този несъществуващ процес и зомби програмата, отговорна за него:

$ ps axo stat, ppid, pid, comm | grep -w несъществуващ

Тази команда ще ви даде състоянието, идентификатора на родител, идентификатора на процеса, програмата, която изпълнява зомби процеса (зомби програмата, която стартирахме в този урок).

Вече научихте как да създадете прост манекен процес на зомбиране. Това ще ви даде представа как изглежда във вашата система и как можете да го използвате за целите на тестването.

Как да променяте настройките на мишката и тъчпада с помощта на Xinput в Linux
Повечето дистрибуции на Linux се доставят с библиотека “libinput” по подразбиране за обработка на входни събития в системата. Той може да обработва вх...
Пренастройте бутоните на мишката си по различен начин за различен софтуер с X-Mouse Button Control
Може би се нуждаете от инструмент, който може да промени контрола на мишката с всяко приложение, което използвате. Ако случаят е такъв, можете да изпр...
Преглед на безжична мишка на Microsoft Sculpt Touch
Наскоро прочетох за Microsoft Sculpt Touch безжична мишка и реших да я купя. След като го използвах известно време, реших да споделя опита си с него. ...