Linux/Ubuntu
linux log 생성하기
jinmc
2020. 12. 8. 15:09
반응형
m.blog.naver.com/ice0423/221932781410
리눅스에서 로그는 정말 중요한 도구입니다.
리눅스 자체에서 echo를 사용하여 출력을 할 수도 있고, python 파일을 실행할 때 print를 하는것도
파일에 저장할 수 있다면 그걸 나중에 볼 수 있기 때문에, 훨씬 좋다고 봅니다.
로그를 저장하는 방법은 간단합니다.
> 한개는 파일 생성, (덮어쓰기)
>> 두개는 파일 에 붙여쓰기 입니다.
$ python3 file.py > file.log # file.log 있을 경우 지우고 새로 생성
$ python3 file.py >> file.log # file.log 있을 경우 그 이후 붙여씀
하지만 파일을 기록하면서도 실시간으로 그 결과를 보고 싶을 때가 있습니다.
또한, 이 둘을 한꺼번에 하고 싶을 수도 있죠.
그럴 때 사용하는게 nohup과 & 입니다.
& 는 그저 백그라운드에 돌리는 용도이고,
nohup은 daemon에서 돌기 때문에 죽지 않는다고 합니다.
그래서 결국 둘을 같이 사용하는 방법을 많이 이용합니다.
$ nohup python3 file.py >> file.log & # nohup 과 백그라운드 돌리기
$ tail -f file.log # log 실시간으로 보기
아 그리고 나서 이제 끄려면, jobs 를 실행하여 프로세스를 보고,
kill을 이용하여 프로세스를 종료할 수 있습니다.
아니면 ps -ef 옵션을 이용할 수도 있습니다.
$ jobs # 현재 터미널에서 진행중인 프로세스를 보여줍니다 (백그라운드, 포그라운드 모두)
$ ps -ef | grep file.py # file.py를 포함하는 프로세스를 보여줌
$ kill % # 퍼센트 뒤에 작업번호 넣으면 프로세스를 중단합니다. 안넣으면 순서대로 제거
반응형