안녕하세요. 이번 시간에는 chdir과 getcwd 함수에 대해 간단하게 알아보겠습니다. 전자는 current working directory를 바꾸고, 후자는 current working directory를 얻어오는 역할을 합니다. 둘 다 unistd.h를 include 해야 합니다. 먼저 chdir을 봅시다. path를 하나 받는데요. 절대 경로와 상대 경로 둘 다 받습니다. 이것이 무슨 역할을 할까요? calling process의 현재 working directory를 PATH로 바꿉니다. 성공하면 0을, 그렇지 않으면 -1을 리턴합니다. 이 함수가 어떤 역할을 하는지는 밑에 예제를 보면서 후술하겠습니다. getcwd입니다. current working directory를 얻어오는 함수는 3개가 ..
전체 글 검색 결과
안녕하세요. 이번 시간에는 proc/{pid} 안에 있는 cwd에 대해서 간단하게 알아보겠습니다. 요약하면 프로세스의 현재 working directory 정도가 되겠습니다. 먼저 pstree -p로 현재 실행되고 있는 프로세스들의 tree를 확인해 봅시다. 이 중에, bash가 눈에 보이네요. pid가 12라는 의미인데요. /proc/12로 가 보면 현재 실행되고 있는 bash에 대해 여러 정보들이 저장되어 있습니다. 여러가지 파일들이 보이는데요. 이 중에 cwd를 보겠습니다. ls -ail | grep cwd를 입력하면, 프로세스의 현재 working directory를 볼 수 있어요. 12번 프로세스는 /proc/12가 현재 working directory인가 보군요. 이제 간단한 c++ 프로그램을..
crontab과 python script 파일을 연동시킬 때 절대 경로 문제가 많이 발생하게 되는데요. 특히나, 스크립트 내에 google api라던지 다른 api와 연동하기 위해 파일을 읽어들일 때 이런 이슈가 발생하곤 합니다. 어떻게 발생했는지 알아보고, 어떻게 python script file의 현재 경로를 얻어오는지도 알아봅시다. 먼저 홈 디렉토리의 test 폴더에 1.py와 emoji.txt가 있습니다. emoji.txt를 읽기 전용으로 열기만 하고 끝내는 프로그램입니다. 이것을 test 폴더 내에서 python3 1.py를 수행했으면 사실상 별 문제가 없었을 겁니다. 그런데, 주기적으로 실행하는 스케쥴러 같은 경우, test 폴더에서 수행하지는 않을 겁니다. 어? 없다고 뜨네요? 왜 그럴까요?..
리눅스에서 일정 주기별로 반복된 일을 하는 방법은 무엇일까요? 예를 들어, 하루마다 투데이를 초기화 한다던지. 이럴 때 쓸 수 있는 것이 crontab입니다. 대략적인 옵션들을 보면 크게 어려운 것은 없슶니다. -l은 current crontab을 출력합니다. -e는 적용되어 있는 crontab을 editor를 이용해서 편집할 수 있게 해 줍니다. cron.py입니다. output.log에 계속 서버의 현재 날짜와 시간을 표시해 줍니다. crontab -e를 입력하시면 크론탭을 편집할 수 있는 에디터가 하나 나오는데요. 요래 입력하면, 매 분마다 python3 cron.py를 실행시키겠다는 의미입니다. 공백으로 구분된 이 5개의 필드들은 이 사이트를 보면 손쉽게 작성할 수 있으니 참고하면 좋겠습니다. 매..
실무에서는 어떻게 쓸 지는 잘 모르겠습니다만 (아마도 어플리케이션에서 처리하겠지만), 생각보다 trim 함수는 (코딩테스트 등에서)절찬리에 써먹을 수 있으니 알아보도록 하겠습니다. postgresql의 trim은 말 그대로, 맨 앞과 맨 뒤에 연속된 특정 문자들을 제거하는 역할을 합니다. python 같은 언어에도 비슷한 것이 있기 때문에 매우 쉽게 와닿으실 겁니다. 먼저 1번째. trailing [character set] from [string] 구문입니다. 어려울 건 없고 차근차근 보면 됩니다. trailing은 따라온다는 의미입니다. 뒤에 따라오는 것. 그렇습니다. 끝 부분에 있는 [character set]을 제거한다는 의미입니다. [character set]에 '-'가 왔으므로 끝에 오는 '-..
최근댓글