Команди A-Z

40 полезни примера на Linux PS Command за амбициозни SysAdmins

40 полезни примера на Linux PS Command за амбициозни SysAdmins

Командата ps е удобна помощна програма, която ни позволява да преглеждаме важна информация за процеса. Процесът е просто работещ екземпляр на програма. Винаги, когато извикаме програма, се създават някои процеси. Изчерпателното разбиране на дървото на процесите е задължително, ако искате да имате пълен контрол върху вашата машина. Тук влиза ps. Това е една от най-полезните терминални команди в Linux, но все още предлага много важна информация. SysAdmins може да ги използва, за да намери дефектни програми или да определи точно използването на ресурсите. Това ръководство ще предостави на читателите практическо въведение в командата ps в Linux.

Практични команди за PS на Linux за ежедневна употреба


Командата ps е прост начин за показване на всички активни процеси. Командата ps обаче отпечатва само моментна снимка на избора на процеси. Ако искате да имате актуализации в реално време за вашите селекции, трябва да използвате командата Linux top или един от нейните наследници. Вижте примерите по-долу, за да видите какво можете да направите с командата Linux ps.

1. Печат на текущи процеси


По подразбиране ps показва само няколко информация. Когато стартирате командата ps без аргументи, тя ще отпечата процесите, свързани с текущата обвивка на Linux. Той намира процесите, чийто ефективен потребителски идентификатор (euid = EUID) е равен на този на текущия потребител и е свързан с извикващата терминална сесия.

$ ps

Изходният списък ще съдържа идентификаторите на процесите (PID) на процесите, името на терминала, свързано с процесите, тяхното натрупано време на процесора и името на изпълнимия файл.

2. Отпечатайте всички активни процеси


Горната команда отпечатва само текущия списък с процеси. Ако искате да покажете всички активни процеси, вместо това използвайте една от следните команди.

$ ps -A $ ps -e

Всъщност и двете команди ps са идентични. Резултатът трябва да съдържа голям брой процеси. Това са дъщерните процеси, извикани от родителски процеси на високо ниво.

3. Процеси за печат във формат BSD


Командата Linux ps може също да показва състояния на процеса във формат BSD. Това е подходящо за администратори, които управляват както Linux, така и BSD системи като част от работата си. Следващите примери показват процесите, използващи този формат.

$ ps aux $ ps брадва

Имайте предвид, че потребителите трябва да се въздържат от групиране на опциите BSD с помощта на тирета. Значението на следната команда е различно от горното.

$ ps -aux

4. Процеси за печат, използвайки пълния формат


Можете да разширите изходния формат на вашите ps команди и да извлечете по-подробна информация. За да направите това обаче, трябва да използвате опцията -f или -F. Следващата команда показва всички текущи процеси, използващи този пълен формат.

$ ps -ef

Тук ние групираме опцията -e с -f. Това ще предостави допълнителна информация като номер на идентификатор на родителски процес (PPID) и индикатори за използване на процесора. Опцията -F разширява този формат с малко повече данни.

$ ps -eF

5. Отпечатайте всички процеси за текущия потребител


Флагът -x на ps ни позволява да покажем всички процеси, които принадлежат на текущия потребител. Това е прост начин за определяне на процесите, свързани с текущия ви потребител.

$ ps -x

Тази команда създава списък на всички активни процеси за текущия потребител. Той показва полезни показатели като статистика и време заедно с PID и имена на команди. Стойност TTY на „?”Означава, че понастоящем няма терминална сесия, свързана с този конкретен процес.

6. Отпечатайте всички процеси за конкретни потребители


Също така можем да отпечатаме списъка с процеси за определен потребител, като използваме опцията -u или -U. Следващите примери илюстрират как работят. Просто заменете потребителското име със съществуващ потребител във вашата система.

$ ps -U ubuntupit $ ps - Потребител ubuntupit

И двете команди са идентични и те просто отпечатват процеса за потребител ubuntupit. Опцията -U или -User избира процесите по реален потребителски идентификатор (RUID) или име.

$ ps -u ubuntupit $ ps --потребител ubuntupit

Горните команди на Linux ps също са идентични, но противно на по-ранните примери, те избират процесите чрез ефективния потребителски идентификатор (EUID) или име.

7. Отпечатайте всички процеси за корен


Можете да използвате командата ps в Linux, за да разберете кои процеси са собственост на root и се изпълняват с привилегиите на root потребителя. Използвайте следната команда, за да намерите тези процеси, като използвате реалния потребителски идентификатор (RUID).

$ ps -U корен $ ps --Потребителски корен

Използвайте опцията -u или -user, за да ги намерите по техния ефективен потребителски идентификатор (EUID), както е показано в примерите по-долу.

$ ps -u корен $ ps --потребителски корен

Администраторите могат да комбинират и двете опции в една команда. Следващият пример отпечатва всички процеси, притежавани от root, използвайки както техните RUID, така и EUID.

$ ps -u корен -U корен

8. Отпечатайте всички процеси за конкретна група


Флагът -G или -g на командата ps ни позволява да отпечатаме процесите, които са част от група. Например можете да ги използвате, за да определите всички процеси, отворени от всеки от група потребители. Групите в Linux се отнасят до набор от потребители, които имат еднакви привилегии за конкретната файлова система или ресурси на Linux.

$ ps -fG техническа поддръжка $ ps -fG 100

Тези команди отпечатват процесите, притежавани от техническата поддръжка на групата. Опцията -G използва реалния идентификатор на група (RGID) или име и има дълга форма, наречена -Group. Опцията -g избира процесите въз основа на ефективния идентификатор на групата (EGID) или име.

$ ps -fg techsupport $ ps -fg 100

Дългата форма за -g е -group.

9. Процеси за печат въз основа на PID


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

$ ps -p 2829 $ ps --pid 2829

Тази команда ще избере процеса, чийто PID е равен на 2829. Можете също така да посочите множество PID, като използвате списък, разделен със запетая, или чрез разширяване на скоби.

$ ps -p 2890,2891,2892,2893,2894,2895

Този пример търси шест специфични PID. От друга страна, следната команда на Linux ps търси набор от идентификатори на процеси.

$ ps -p 29 1… 99

10. Процеси за печат въз основа на PPID


Ако искате да покажете процесите въз основа на техния PPID, трябва да използвате следната команда. Флагът -ppid на помощната програма ps избира процеси от PPID.

$ ps --ppid 1111,1122,1133

Можете да посочите повече от един PPID, като използвате разширения за скоби или списък с процеси, разделени със запетая.

$ ps --ppid 2890,2891,2892,2893,2894,2895 $ ps --pid 29 1… 99

11. Процеси за печат, използвайки бърз режим


Командата Linux ps поддържа бърз режим за избор на процеси от техните PID. В този режим ps чете само основните данни и не използва допълнителни правила за филтриране. Освен това отпечатаните PID не се сортират или запазват.

$ ps -q 2480,2532,2533 $ ps --quick-pid 2480,2532,2533

Бързият режим поддържа множество PID, както и разширяване на обхвата. Това е по-бърза операция и е подходяща за локализиране на процеси в рамките на милисекунди.

12. Процеси за печат, базирани на TTY


TTY или TeleTYpewriter означава терминална сесия, която е свързана към стандартния вход. Можете да изберете процеси, базирани на TTY, като използвате флага -t на ps.

$ ps -t / dev / pts / 0 $ ps --tty / dev / pts / 0

Както можете да видите, ps поддържа и дълга форма за тази опция. В горната команда, / dev / pts / 0 е терминал за текущата ми сесия. Трябва да замените това с tty, свързано с вашата лична сесия. По-прост метод е да интерполирате името на терминала директно от вашата черупка, както е показано по-долу.

$ ps -t $ (tty)

Това ще замени полето tty за вашия терминал. Можете също да групирате множество tty, като използвате методите за разширяване на обхвата, показани по-рано.

13. Процеси за печат за конкретни команди


Както вече трябва да забележите, процесите се раждат като част от команда. Винаги, когато стартирате една от любимите си команди на терминал на Linux, той извиква няколко процеса, за да направи своето офериране. Опцията -C на командата ps ни позволява да избираме процеси въз основа на името на изпълними файлове, от които са част.

$ ps -C хром

Подобно на повечето флагове, опцията -C също позволява на администраторите да избират процеси на множество команди. Следващите примери показват прост пример от списък.

$ ps -C хром, apache, gedit

Потребителите обаче не трябва да използват бели пространства между списъка, иначе ps няма да успее да анализира входа.

14. Отпечатайте дървото на процеса


Дървото на процесите показва визуална връзка между изпълняваните процеси във вашата система. Това прави много лесно визуализирането на взаимоотношенията и взаимовръзките между процесите. Следващият пример ни показва как да го направим.

$ ps -eH

Опцията -e избира всички процеси, а -H показва йерархията на процесите. Можете също да използвате опциите -f или -forest. Отпечатва се йерархия на художествения процес ASCII за опцията f и дърво за-гора.

$ ps -e f

Обърнете внимание на интервала между -e и f. Освен това няма тире пред флага f.

$ ps -e - гора

15. Отпечатайте дърво на процеса за конкретни команди


Можем лесно да покажем връзката между команда на Linux и свързаните с нея процеси, като комбинираме опцията -C с някоя от -H, f или -forest. Командите по-долу показват някои прости примери за това за нашите читатели.

$ ps -H -C хром $ ps f -C хром

Тъй като -C се използва за избор на процес и -H / f за промяна на изходния формат, тези две опции не могат да се комбинират.

$ ps --forest -C хром

16. Отпечатайте нишките за процес


Опцията -L на командата Linux ps ни позволява да покажем нишките, свързани с процеси. Следващият пример отпечатва нишките за хрома на процеса.

$ ps -L -C хром

Това ще осигури LWP (лек процес) за избрания процес, в този случай хром. Използвайте опцията -f за получаване на повече данни.

$ ps -fL -C хром

Тази команда ще покаже NLWP (брой леки процеси) заедно с LWP. Можете да изберете множество процеси, като използвате тяхното PID или име на команда.

17. Отпечатайте списъка с всички спецификатори на формата


Командата ps поддържа широк спектър от спецификатори на формат, различни от PID, TTY и CMD. Можете да отпечатате целия списък с всички поддържани спецификатори, като използвате опцията L.

$ ps L

Имайте предвид, че тази опция е подобна на опцията, използвана за отпечатване на нишки. Наличието или отсъствието на тирето позволява на ps да анализира кой изход търсите.

18. Печат на конкретни изходни колони


Горната команда показва опциите за изход, достъпни за нас за ps. Сега можем да изберем само конкретна информация за даден процес, като дефинираме сами изходния формат. Например следните команди ще покажат PPID, STATE и CMD за хрома на процеса.

$ ps -o ppid, състояние, cmd -C хром $ ps --формат ppid, състояние, cmd -C хром

И така, опцията -o или -format ни позволява да избираме конкретни колони за нашия изход. Примерът по-долу отпечатва само информацията за PPID за всички процеси.

$ ps -eo ppid

19. Отпечатайте конкретни изходни колони за избрани процеси


Следващият пример ще покаже информация за PPID, състояние, cmd, tty и EUID за конкретен процес. Използваме информацията PID, за да намерим целевия процес в тази команда.

$ ps -p 2434 -o ppid, състояние, cmd, tty, euid

Следващият пример ще намери същата информация, но за набор от процеси.

$ ps -p 2424,2434,2444,2454,2464 -o ppid, състояние, cmd, tty, euid

Не забравяйте да не поставяте интервали нито между PID списъка, нито в списъка с изходни спецификации. Ако искате да използвате бели пространства, премахнете запетаите и ги поставете в двойни кавички.

$ ps -p "2424 2434 2444 2454 2464" -o "ppid състояние cmd tty euid"

20. Отпечатвайте само имена на процеси


Да приемем, че искате да знаете името на процес за конкретен идентификатор на процеса и не искате никаква допълнителна информация. Един от начините да направите това е да отпечатате състоянието на процеса с помощта на PID и да изрежете необходимата колона, използвайки команди за изрязване на Linux или awk. Има обаче много по-просто решение на този проблем.

$ ps -q 2434 -o comm =

Тази команда ще покаже само името на процеса за PID 2434. Той използва бързия режим за избор на този PID. Можете също да използвате -p или -pid, ако искате.

21. Отпечатайте всички PID за процес


Ако пишете скриптове за черупки на Linux или извършвате системни одити, може да се наложи да откриете всички pids, свързани с определен процес. За щастие това е много лесно да се направи с помощта на командата Linux ps. Следващата команда ще покаже всички PID за хрома на процеса.

$ ps -C хром -o pid =

Тази команда просто комбинира опцията -C на ps с изходния спецификатор -o. Както трябва да видите, изходът съдържа само PID стойности, без допълнителни данни. По този начин е подходящ за използване със скриптове на черупки.

22. Отпечатайте времето за изпълнение на даден процес


Времето за изпълнение на даден процес показва колко време процесорът прекарва зад задачата. Това е чудесен начин за намиране на дефектни процеси, които използват твърде много време на процесора. Следващата команда ви показва как да намерите това време за изпълнение за даден процес в Linux.

$ ps -eo etime, потребител, comm | grep хром

Този пример използва командата Linux grep, за да филтрира конкретния процес от целия списък с процеси. Можете също да посочите името на процеса, като използвате опцията -C на ps.

$ ps -o etime, потребител, comm -C хром

Тъй като избираме процеса по име, не е необходимо да предоставяме опцията -e.

23. Отпечатайте статистика за използването на процесора и паметта


Можем да използваме командата ps, за да видим процесора и използването на паметта на нашите процеси. Това е много полезно при определяне на дефектни процеси или използване на ресурси за отстраняване на неизправности. Следващите примери илюстрират как да направите това.

$ ps -eo pid, ppid, cmd,% mem,% cpu $ ps -eo "pid ppid cmd% mem% cpu"

Тези команди ще покажат две допълнителни колони за използване на процесора и паметта за списъка с процеси. Ако искате да видите използването на ресурса за определен процес, използвайте опцията -C и пропуснете -e.

$ ps -o pid, ppid, cmd,% mem,% cpu -C хром

24. Отпечатайте използването на процесора и паметта след сортиране


Горните команди не са много изискани сами по себе си, тъй като изходът съдържа много процеси. Освен това много от тях не влияят силно на ресурсите на процесора. За щастие можем да сортираме изходните данни, за да открием процесите, използвайки най-високите ресурси.

$ ps -eo pid, ppid, cmd,% mem,% cpu --sort = -% mem | глава

Тази команда сортира изхода на ps и подава данните към командата head. Той произвежда най-добрите процеси, отговорни за най-много използване на процесора. Ако искате да разберете процеси, причиняващи висянето на вашата система, това е командата, която да използвате.

25. Отпечатайте изминало време за процеси


Изминалото време за процес на Linux показва времето, откакто е стартиран от вашата система. Помощната програма ps може да покаже този път, като използва [[dd-] hh:] mm: ss формат. Вижте следния пример, за да видите как работи това.

$ ps -C хром -o pid, etime =

Тази команда ще покаже PID за процеса на хромиране и информацията за изминалото време. Също така можем да посочим процеса, използвайки неговия PID или PPID, както е показано по-долу.

$ ps --ppid 1736 -o pid, etime =

26. Убийте окачени процеси с Linux PS Command


Ако се сблъскате с проблеми с окачването на процесора, може да искате да убиете процесите, които използват твърде много ресурси на процесора. Вижте нашето предишно ръководство за това как да убиете или прекратите процес на Linux, за да смекчите този проблем. Въпреки това, долната команда за еднолинейна обвивка е удобен начин за изпълнение на тази задача.

$ ps aux | grep -e 'nano' | awk 'print $ 2' | xargs убиват -9

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

27. Наблюдавайте използването на процеса в реално време


Командата Linux ps предоставя само статична моментна снимка на процесите. Най-добрата помощна програма се използва за наблюдение на процеси и използване на ресурси в реално време. Въпреки това можем да комбинираме ps с командата за наблюдение, за да наблюдаваме процесите в реално време.

$ watch -n 1 'ps -eo pid, ppid, cmd,% mem,% cpu --sort = -% mem | глава'

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

28. Намерете изтичане на памет


Изтичането на памет е често срещан проблем при много приложения, които използват модела клиент-сървър. Технически това означава, че паметта, разпределена за приложение, не се освобождава, когато приложението е затворено. Следните команди могат да помогнат на администраторите да идентифицират изтичане на памет.

$ ps -ef -o pid, pmem - сортиране на pmem | tail -5 $ ps -ef -o pid, pmem --sort% mem | опашка -5

Имайте предвид, че pmem е синоним на% mem в Linux ps команда. Сега вземете под внимание PID, който консумира най-много памет, и намерете подробна информация за този процес, като използвате следната команда.

$ ps ev --pid = 1776

Изпълнете тази команда няколко пъти или използвайте помощната програма за наблюдение, за да наблюдавате дали стойността на полето RSS се увеличава. Ако го направи, това е знак за изтичане на памет.

$ watch -n 1 'ps ev --pid = 1776'

29. Отпечатайте дъщерни процеси за специфичен процес


Многозадачните операционни системи като Linux позволяват на процесите да създават свои собствени дъщерни процеси. Това обикновено се прави по една от двете процедури, системата извиква fork () или spawn (). Както и да е, можете да отпечатате списъка с дъщерни процеси, създадени от определен процес, като използвате командата Linux ps.

$ ps -o pid, uname, comm -C хром $ ps -o pid, uname, comm -C chrome --forest

Те ще покажат дъщерните процеси за хрома на процеса. Добавянето на опцията -fore помага да се визуализира връзката между процесите.

30. Преименувайте етикетите на колони


Схемата за именуване по подразбиране на изходните колони за ps е доста кратка и може да обърка някои потребители. Много е лесно обаче да преименувате тези етикети и да зададете персонализирани имена за тях. Командата по-долу илюстрира това с помощта на прост пример.

$ ps -e -o pid = PID, uname = ПОТРЕБИТЕЛ, cpu = CPU,% mem = MEM%, comm = COMMAND

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

31. Отпечатайте информация за защита за Linux PS Command


Потребителите могат да разпечатват информация за контекста на защитата за своите процеси, като използват знаците -context, -N или Z. Вижте следните команди, за да видите как работят.

$ ps -C chrome --context $ ps -C chrome Z $ ps -C chrome -M

Тези команди ще покажат контекста на SELinux за процеса chrome. Въпреки това, SELinux трябва да бъде активиран във вашата система, за да работят тези команди на Linux ps.

32. Отпечатайте информация за всеки потребител


Потребителите могат да извличат всеки тип потребителска информация за даден процес, като избират само потребителските модификатори за изход. Вижте следната команда, за да разберете как работи това.

$ ps -C chrome -o pid, euser, ruser, suser, fuser $ ps -C chrome -o "pid euser ruser suser fuser"

И двете команди са идентични и те просто ще изведат цялата потребителска информация, достъпна за ps за процеса на chrome. Можете да премахнете опцията -C и да добавите -e, за да получите тези данни за всички активни процеси във вашата система.

33. Формат на сигнала за печат за процеси


Сигналите са основен начин за комуникация между процесите или IPC. Те се използват за посочване кога даден процес трябва да бъде поставен на пауза или кога да се освободят ресурси и т.н. Помощната програма ps позволява на потребителите да показват формата на сигнала за всеки процес. Вижте следния пример, за да видите как това работи на практика.

$ ps s -C хром

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

34. Отпечатайте ориентиран към потребителя формат за процеси


Ориентираният към потребителя формат улеснява визуализирането на данните за процеса за потребителите. Той е доста подобен на изходния формат в стил BSD. Просто изпълнете командата по-долу в любимия си емулатор на терминал на Linux, за да видите как изглежда изходът.

$ ps u -C хром

Подобно на BSD формата, u опцията не се нуждае от предходен символ на тире. Резултатът е много кратък и въпреки това съдържа подробна информация, включително PID, използване на процесора, използване на паметта, състояние, изминало време и т.н.

35. Отпечатайте всички, освен някои процеси


Командата на Linux ps предлага удобен начин за отричане или допълване на списъци с процеси, наречени премахване на избора. Това позволява на потребителите да отпечатват всички процеси, с изключение на тези, които отговарят на определени изисквания. Вижте командите по-долу, за да видите как работи това.

$ ps -C chrome --изберете $ ps -C chrome -N

И двете опции -N и -deselect са идентични и по този начин произвеждат еднакви резултати. Резултатът от тези команди ще има списък на всички процеси, с изключение на chrome. Те също работят с всяка друга опция. Например следната команда ще отпечата всички PID, с изключение на споменатите.

$ ps -p 1… 100 --deselect

Резултатът ще съдържа списък на всички PID, с изключение от 1 до 100.

36. Процеси за печат, използвайки BSD Long Format


Използването на дългия формат за изходи позволява на потребителите да извличат повече информация с помощта на една команда ps. Просто използвайте опцията -l за задаване на изходния режим на BSD дълъг формат.

$ ps -el

Можете също да използвате допълнителна опция -y с тази опция. Той ще изключи знамето ADDR и вместо това ще използва RSS.

$ ps -ely

Резултатът от тази команда съдържа информация като PID, PPID, UID, използване на процесора, приоритет на процеса, използване на паметта, размер и т.н.

37. Печат на информация за отстраняване на грешки


Следващата команда ще покаже информацията за отстраняване на грешки, достъпна за потребителите за командата ps. Това може да стане полезно, когато отстранявате грешки в програми и процеси.

$ ps --info

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

38. Показване на информация за версията


Помощната програма ps е един от най-старите инструменти за мониторинг на процеси за Linux и BSD. Той се е развил до голяма степен с течение на времето и има редица основни внедрения. Тъй като нещата често се различават при различните версии, трябва да използвате някои от командите въз основа на точната версия, инсталирана на вашата система.

$ ps --version $ ps -V $ ps V

Всички горепосочени команди са идентични и те просто показват информацията за версията за procps-ng. Това е пакетът за наблюдение на процеса, който съдържа командата ps.

39. Показване на помощна информация


Помощната страница съдържа обобщен списък с полезна информация за командите на Linux. Синтаксисът за това в ps е следният.

$ pf - раздел за помощ

Тук ключовата дума секция се отнася до един от прости, списък, изход, нишки, различни и всички. Освен това те могат да бъдат заменени с началните букви като s, l, o, t, m и a.

$ ps --help прости $ ps --help теми $ ps --помогнете на всички

40. Показване на ръчната страница


Ръководството или ръководството на Linux командите съдържат подробна информация за всички налични опции и тяхното използване. Това е идеалното място да започнете да изучавате ps.

$ man ps

Можете лесно да превъртате тази документация, като използвате клавишите PageUP и PageDown на клавиатурата. Натиснете q, за да се върнете към черупката си.

Край на мислите


Командата Linux ps е прост, но гъвкав инструмент за администратори. Позволява на потребителите лесно да намират информация за процеса и да изпълняват задачи като наблюдение, отстраняване на неизправности и одит. Ако искате да се заемете с високо платена работа по компютърни науки, която да използва Linux, трябва да сте повече от умели в използването на ps. Ето защо нашите редактори подготвиха това ръководство с много практически примери.

Ако сте напълно начинаещ, маркирайте това ръководство за бъдещи справки. Надяваме се, че сме ви предоставили основната информация, която търсите. Оставете ни коментар по-долу, ако имате допълнителни въпроси или съвети.

Добавете жестове на мишката към Windows 10, като използвате тези безплатни инструменти
През последните години компютрите и операционните системи значително се развиха. Имаше време, когато потребителите трябваше да използват команди за на...
Контролирайте и управлявайте движението на мишката между множество монитори в Windows 10
Двоен дисплей на мишката ви позволява да контролирате и конфигурирате движението на мишката между множество монитори, като забавя движенията му близо ...
WinMouse ви позволява да персонализирате и подобрите движението на показалеца на мишката на компютър с Windows
Ако искате да подобрите функциите по подразбиране на показалеца на мишката, използвайте безплатна програма WinMouse. Той добавя още функции, за да ви ...