ETC/Ubuntu 4

특정 port 사용 중인 process 찾기. (port is already in use / port is already allocated)

서버를 개발하고 배포하다보면 port is already allocated 혹은 port is already in use 라는 문구를 자주 보게 됩니다. 로컬에서 개발하다보면 특히 어떤 프로세스가 사용하고 있는지 기억이 안 날 때도 종종 있는데, 그럴 때 아래의 명령어를 사용하면, 해당 포트를 사용 중인 프로세스를 조회할 수 있습니다. lsof -i tcp: 자리에 조회하려는 포트 번호를 입력하면 됩니다. ex) lsof -i tcp:3000

ETC/Ubuntu 2022.02.03

프로세스 id (pid) 활용하여 프로세스 실행 위치 확인하기

pid 검색은 ps 명령어를 활용해서 검색할 수 있습니다.ps를 사용할 때, 그냥 쓰면 모든 프로세스가 나오기 때문에 찾기 어려울 수도 있어서 필터를 사용하고 싶을 경우에는 grep을 사용하면 됩니다. 예시)ps -aux | grep python 위의 예시와 같이 사용하시면, 실행 명령에 python이 있었던 프로세스를 모두 찾을 수 있습니다. 찾은 pid를 활용하여 ls -al /proc/pid 명령을 입력하면, 해당 프로세스 실행 위치를 알 수 있습니다.

ETC/Ubuntu 2019.01.17

scp를 백그라운드에서 실행하는 방법

nohup scp file_to_copy user@server:/path/to/copy/the/file > nohup.out 2>&1 위와 같이 실행하면 비밀번호를 입력할 수 있음비밀번호 입력 후 ctrl+z 입력그러면 아래와 같이 출력될 것임 [1]+ Stopped scp file_to_copy user@server:/path/to/copy/the/file > nohup.out 2>&1 여기서 아래와 같이 입력 bg 아래와 같이 출력되면서 시작됨 [1]+ scp file_to_copy user@server:/path/to/copy/the/file > nohup.out 2>&1

ETC/Ubuntu 2018.06.12

프로세스 백그라운드에서 실행하는 방법

실행 명령어 맨 뒤에 & 를 붙이면 백그라운드에서 실행합니다. 하지만, 터미널이 꺼지면 프로세스가 죽어요 터미널을 꺼도 프로세스가 계속 돌아가게 하는 방법은 nohup 이라는 명령어를 맨 앞에 붙여주시면 됩니다. > nohup python hello_world & 위의 예처럼 사용하시면 되요. python 뿐만이 아니라 모든 실행 명령 앞에 붙이면 됩니다. 그러면 이제 프로세스가 돌아가는지 확인을 해봐야되는데 그 명령어는 ps -aux 를 사용하시면 됩니다. 그리고 백그라운드에서 돌아가는 명령어니까, 따로 중지를 시키는 방법이 있어야겠죠? kill -9 [PID] 위의 명령어를 사용하시면 되고, PID는 ps -aux 명령어로 확인하실 수 있어요.

ETC/Ubuntu 2017.09.22