반응형 오늘은 리눅스에서 실행중인 프로세스를 확인하는 명령어를 알아보겠습니다. 바로 ps명령어인데요. Process status(프로세스 상태)의 줄임말입니다. PID/TTY/TIME/CMD로 표시되구요. 아이디/터미널/시간/명령어로 이해하시면 됩니다. 윈도우의 작업 관리자라고 생각하시면 편합니다. 응답없음 등이 발생하면 윈도우에서 작업관리자를 통해서 프로세스를 죽이는 것처럼 리눅스에서도 혹시 잘못 실행되거나, 불필요한 프로세스를 PS 명령어를 통해서 확인하고 삭제합니다. 일반적으로 가장 많이 쓰는 옵션은 ps -ef인데요. 전체를 보여주는 e와 상세 내역을 보여주는 f를 합쳐서 사용합니다. 그리고 원하는 프로세스만 찾기 위해서는 ps -ef | grep 찾고싶은프로그램 을 통해서 많이 사용하는데요. mysql 관련된 프로세스를 보고 싶다면 ps -ef | grep mysql을 사용하시면 됩니다. 찾은 프로세스를 종료하기 위해서는 kill명령어를 사용하는데요. kill -9 30373 등 종료하고 싶은 PID를 입력하면 프로세스를 종료할 수 있습니다. 참고로 -9는 자주 사용하는 강제종료 옵션입니다. 이번 시간에는 ps 명령어를 통해서 리눅스의 프로세스 상태를 확인하고 프로세스를 종료하는 방법을 알아보았는데요. 잘 사용하시기 바랍니다. 이외에 실행중인 명령어는 jobs를 통해서 확인할 수 있습니다. 작업을 하다가 Ctrl+z를 누르면 백그라운드 작업으로 변경되는데요. 이때에는 Jobs를 통해서 백그라운드 작업을 확인할 수 있구요. fg 1을 통해서 다시 포어그라운드로 활성화 할 수 있습니다. fg로 살린다음 정상 종료하면 Jobs명령어에 따로 잡히지 않음을 알 수 있습니다. 오늘은 간단하게 리늑스에서 프로세스를 관리하는 명령어를 알아보았는데요. 잘 사용하시기 바랍니다. 감사합니다. 반응형 공유하기 게시글 관리 구독하기Dorulog저작자표시
'Tip & Tech > Computer' 카테고리의 다른 글오라클 클라우드 SSH Permission denied 오류 (2)2022.06.11카카오톡 PC버전 컴퓨터 화면 녹화하고 공유하는 방법 (2)2022.06.05오라클 클라우드 무료 서버 만들기 (2)2022.06.01Acer Swift 3 무선랜카드 교체하기 (2)2022.05.28컴퓨터의 모든것 - CPU AMD vs INTEL (2)2022.05.24당신이 좋아할만한 콘텐츠
NEXT [Linux] 프로세스(Process) 및 쓰레드(Thread) 개념PREV [Linux] cp 명령어와 mv 명령어댓글 7 + 이전 댓글 더보기 비공개 댓글 남기기 ps 명령어를 통해 현재 실행중인 프로세스를 확인해본다. ps는 Process Status를 뜻하고, 현재 실행중인 프로세스들의 정보를 출력한다. help 명령어를 사용하면 ps 명령어에 대한 자세한 도움말을 볼 수 있다.
이중에 가장 흔하게 쓰이고 있는 옵션으로 -e와 -f 옵션이 있다.
-e는 전체 프로세스를 보여주는 옵션이다. -e를 사용하지 않으면 현재 shell에서 실행 중인 프로세스만 표시된다.
-f는 프로세스의 상태 정보를 모두 표시해주는 옵션이다. 내가 찾고자 하는 프로세스 명이 있다면 파이프를 이용해서 해당 프로세스 명만 들어간 프로세스들을 출력할 수 있다.
간단하지만 평소에 리눅스 환경을 잘 사용하지 않기 때문에 자주 까먹게 된다... IT/DevOps 프로세스가 열고 있는 파일을 확인하는 방법 - lsof 2012. 1. 5. 2 comments linux 시스템에서 프로세스를 통하여 파일을 열 수 있다. root@ubuntu:~# lsof COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME init 1 root cwd DIR 252,0 4096 2 / init 1 root rtd DIR 252,0 4096 2 / init 1 root txt REG 252,0 124704 2490376 /sbin/init init 1 root mem REG 252,0 79672 1441818 /lib/i386-linux-gnu/libnsl-2.13.so init 1 root mem REG 252,0 30684 1441811 /lib/i386-linux-gnu/librt-2.13.so init 1 root mem REG 252,0 1434180 1441809 /lib/i386-linux-gnu/libc-2.13.so init 1 root mem REG 252,0 38500 1441821 /lib/i386-linux-gnu/libnss_nis-2.13.so init 1 root mem REG 252,0 117960 1441832 /lib/i386-linux-gnu/ld-2.13.so init 1 root mem REG 252,0 42580 1441834 /lib/i386-linux-gnu/libnss_files-2.13.so init 1 root mem REG 252,0 29984 1441858 /lib/libnih-dbus.so.1.0.0 init 1 root mem REG 252,0 26400 1441822 /lib/i386-linux-gnu/libnss_compat-2.13.so init 1 root mem REG 252,0 75040 1441860 /lib/libnih.so.1.0.0 init 1 root mem REG 252,0 121644 1441827 /lib/i386-linux-gnu/libpthread-2.13.so init 1 root mem REG 252,0 243400 1441799 /lib/i386-linux-gnu/libdbus-1.so.3.5.4 init 1 root 0u CHR 1,3 0t0 5396 /dev/null init 1 root 1u CHR 1,3 0t0 5396 /dev/null init 1 root 2u CHR 1,3 0t0 5396 /dev/null init 1 root 3r FIFO 0,8 0t0 928 pipe init 1 root 4w FIFO 0,8 0t0 928 pipe ... ...
root@ubuntu:~# lsof | grep sshd sshd 2169 root cwd DIR 252,0 4096 2 / sshd 2169 root rtd DIR 252,0 4096 2 / sshd 2169 root txt REG 252,0 470240 1713853 /usr/sbin/sshd sshd 2169 root mem REG 252,0 117960 1441832 /lib/i386-linux-gnu/ld-2.13.so sshd 2169 root mem REG 252,0 79476 1442028 /lib/i386-linux-gnu/libz.so.1.2.3.4 sshd 2169 root mem REG 252,0 79672 1441818 /lib/i386-linux-gnu/libnsl-2.13.so sshd 2169 root mem REG 252,0 140788 1705602 /usr/lib/i386-linux-gnu/libk5crypto.so.3.1 sshd 2169 root mem REG 252,0 26112 1705609 /usr/lib/i386-linux-gnu/libkrb5support.so.0.1 sshd 2169 root mem REG 252,0 46644 1446070 /lib/i386- ... ...
아래는 실행중인 아파치 프로세스의 PID(2285)를 기반으로 fd 디렉토리에서 ls한 결과이다. 0~2번까지는 시스템에서 자동으로 잡히는 fd영역이고, 3번부터 사용자(코드에서 열고 있는)에 의한 열린 fd 리스트들이다. socket과 pipe 그리고 로그를 적기 위한 데이터파일과 eventpoll을 열고 있다. root@ubuntu:/proc/2285/fd# ls -al 합계 0 dr-x------ 2 root root 0 2012-01-04 23:42 . dr-xr-xr-x 7 www-data www-data 0 2012-01-04 23:41 .. lr-x------ 1 root root 64 2012-01-04 23:42 0 -> /dev/null l-wx------ 1 root root 64 2012-01-04 23:42 1 -> /dev/null l-wx------ 1 root root 64 2012-01-04 23:42 2 -> /var/log/apache2/error.log lrwx------ 1 root root 64 2012-01-04 23:42 3 -> socket:[13645] lr-x------ 1 root root 64 2012-01-04 23:42 4 -> pipe:[11969] l-wx------ 1 root root 64 2012-01-04 23:42 5 -> pipe:[11969] l-wx------ 1 root root 64 2012-01-04 23:42 6 -> /var/log/apache2/other_vhosts_access.log l-wx------ 1 root root 64 2012-01-04 23:42 7 -> /var/log/apache2/access.log lrwx------ 1 root root 64 2012-01-04 23:42 8 -> anon_inode:[eventpoll]
4904 stat64("/proc/2285/", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0 4905 open("/proc/2285/stat", O_RDONLY|O_LARGEFILE) = 4 4906 read(4, "2285 (apache2) S 2274 2274 2274 "..., 4096) = 199 4907 close(4) = 0 4908 readlink("/proc/2285/cwd", "/"..., 4096) = 1 4909 stat64("/proc/2285/cwd", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 4910 readlink("/proc/2285/root", "/", 4096) = 1 4911 stat64("/proc/2285/root", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 4912 readlink("/proc/2285/exe", "/usr/lib/apache2/mpm-prefork/apache2"..., 4096) = 36 4913 stat64("/proc/2285/exe", {st_mode=S_IFREG|0755, st_size=1296895, ...}) = 0 4914 open("/proc/2285/maps", O_RDONLY|O_LARGEFILE) = 4 4915 read(4, "00110000-0012d000 r-xp 00000000 "..., 4096) = 4057 4916 stat64("/usr/lib/libaprutil-1.so.0.3.9", {st_mode=S_IFREG|0644, st_size=120884, ...}) = 0 4917 stat64("/lib/i386-linux-gnu/libdl-2.13.so", {st_mode=S_IFREG|0644, st_size=9736, ...}) = 0 4918 stat64("/usr/lib/apache2/modules/mod_authz_user.so", { ... ... 4969 open("/proc/2285/fd", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 4 4970 getdents64(4, /* 11 entries */, 32768) = 264 4971 readlink("/proc/2285/fd/0", "/dev/null"..., 4096) = 9 4972 lstat64("/proc/2285/fd/0", {st_mode=S_IFLNK|0500, st_size=64, ...}) = 0 4973 stat64("/proc/2285/fd/0", {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0 4974 open("/proc/2285/fdinfo/0", O_RDONLY|O_LARGEFILE) = 7 4975 fstat64(7, {st_mode=S_IFREG|0400, st_size=0, ...}) = 0 4976 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb78c1000 4977 read(7, "pos:\t0\nflags:\t00\n", 1024) = 17 4978 close(7) = 0 4979 munmap(0xb78c1000, 4096) = 0 4980 readlink("/proc/2285/fd/1", "/dev/null", 4096) = 9 4981 lstat64("/proc/2285/fd/1", {st_mode=S_IFLNK|0300, st_size=64, ...}) = 0 4982 stat64("/proc/2285/fd/1", {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0 4983 open("/proc/2285/fdinfo/1", O_RDONLY|O_LARGEFILE) = 7 4984 fstat64(7, {st_mode=S_IFREG|0400, st_size=0, ...}) = 0 ... ... 반응형 공유하기 게시글 관리 구독하기morenice's blog저작자표시 비영리 동일조건
TAGfd, file open, linux, lsof, proc 관련글 관련글 더보기
댓글 2 댓글 접기 댓글 펼치기이전 댓글 더보기 비밀글 등록 |