ДТ РАБОТИЛНИЦА

Регистрирайте безплатен акаунт днес, за да станете член! След като влезете, ще можете да участвате в този сайт, като добавяте свои собствени теми и публикации, както и да се свързвате с други членове чрез вашата лична пощенска кутия!

  • Здравейте, майстори на заваряването, кодирането и автомобилните технологии!

    Аз съм Тони Ангелчовски, създател на dtgarage.eu - вашата нова дигитална работилница. С визията за място, където можем да обменяме идеи, да се обучаваме и да растем заедно, dtgarage.eu събира любители и професионалисти от света на заваряването, автомобилите, IT и уеб кодирането.

    В dtgarage.eu, ние сме общност, която е готова да помага и подкрепя всеки свой член. Ние вярваме, че всеки от нас може да допринесе за развитието на тази платформа, независимо дали е професионалист или ентусиаст.

    Само една стъпка ви дели от това да станете част от нашата общност - регистрацията. Регистрирайте се сега и открийте света на dtgarage.eu - мястото, където можем да създаваме и растем заедно.

    Приключението започва тук. Добре дошли в DTGARAGE.EU!

linux Как да използвате командата за фюзер на Linux

Въведение​

Командата fuserе помощна програма на Linux, предназначена да открие кой процес използва даден файл, директория или сокет. Той също така предоставя информация за потребителя, който притежава този процес, и вида на достъпа.

Как да използвате помощната програма за изпичане​

Можете да прегледате fuser страницата с ръководство , за да получите преглед на всички опции, които да използвате с fuser. Можете също така да стартирате fuserсамостоятелно без никакви опции, за да получите преглед на fuserсинтаксиса:
Code:
fuser

No process specification given
Usage: fuser [-fMuv] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] NAME...
fuser -l
fuser -V
Show which processes use the named files, sockets, or filesystems.

-a,--all display unused files too
-i,--interactive ask before killing (ignored without -k)
-k,--kill kill processes accessing the named file
-l,--list-signals list available signal names
-m,--mount show all processes using the named filesystems or block device
-M,--ismountpoint fulfill request only if NAME is a mount point
-n,--namespace SPACE search in this name space (file, udp, or tcp)
-s,--silent silent operation
-SIGNAL send this signal instead of SIGKILL
-u,--user display user IDs
-v,--verbose verbose output
-w,--writeonly kill only processes with write access
-V,--version display version information
-4,--ipv4 search IPv4 sockets only
-6,--ipv6 search IPv6 sockets only
- reset options

udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]

Как да видите процеси, изпълнявани в директория​

fuserможе да се използва и с опция -v, която изпълнява инструмента в подробен режим. Опцията verbose се използва за получаване на повече изходни данни, така че потребителят да може да наблюдава какво fuser прави. Стартирайте fuser в текущата директория, .като включите -v опцията:
Code:
fuser -v .

Output
USER PID ACCESS COMMAND
/home/sammy: sammy 17604 ..c.. bash
В този случай единственият процес, който се изпълнява в тази директория, е интерактивната bashобвивка, от която изпълнявате команди в момента.

Когато се изпълнява в подробен режим , fuser помощната програма дава информация за USER, и на даден процес. Символът под показва вида на достъпа, в този случай означава текущата директория. Има и други видове достъп, като изпълняван изпълним файл, основна директория , отворен файл и приложен файл или споделена библиотека.PID ACCESS COMMAND c ACCESS

Как да намерите процеси с помощта на мрежови сокети​

Може също да се наложи да търсите процеси, използвайки TCP и UDP сокети. За да демонстрирате този пример, първо ще използвате, nc за да създадете TCP слушател на порт 8002, така че да има работещ процес, който можете да наблюдавате:

nc -l -p 8002
Това ще блокира терминала, докато работи. В друг терминален прозорец използвайте, fuser за да намерите процеса, работещ на TCP порт 8002 с -n опцията:
fuser -v -n tcp 8002
Output
USER PID ACCESS COMMAND
8002/tcp: sammy 17985 F.... nc

Забележка: По подразбиране fuser инструментът ще проверява както IPv4, така и IPv6 сокети, но можете да промените това с опциите -4 и -6, за да проверявате съответно само IPv4 или само IPv6 връзки.


Този резултат показва, че идентификаторът на процеса ( PID) на процеса, използващ netcat, е 17985 и командата, която е използвана за стартирането му, е „nc“. Идентификаторът на процеса (PID) може да се използва по много начини, включително за спиране или убиване на работещ процес. Можете да научите повече за управлението на процеси, като прочетете Как да използвате ps, kill и nice за управление на процеси в Linux . Можете също да fuser го използвате, за да убивате процеси, изпълнявани на определени портове, като използвате -k флага:
fuser -k 8002/tcp
Output
8002/tcp: 18056
Ако се върнете към първия прозорец на терминала, ще забележите, че програмата nc е убита и върната в обвивката.

Помощната програма за изпичане може да се използва и за изпращане на специфични сигнали към процес. Когато се използва с опцията -k, командата за изпичане изпраща сигнал KILL към процес. Има много други сигнали, които могат да бъдат изпратени до конкретен работещ процес. Можете да ги изброите с fuser -l:
Output
HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT
CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS

Заключение​

В тази статия научихте някои примерни употреби на fuse r за наблюдение на използвани портове и директории в Linux система. fuser може да бъде особено полезно, когато се опитвате да разберете какви неизвестни процеси може да се изпълняват във вашата система.
 
Last edited:
Top Bottom