alias는 별칭이라는 뜻입니다. 예를 들어서 A라는 이름을 가진 사람을, B라고 부를 수 있습니다. 이 때, B는 A의 별칭 (별명) 이라고 많이 이야기를 합니다. 명령어도 다르게 부를 수 있는데요. 예를 들어서, ll은 'ls -l --color=auto'의 다른 이름이라고 할 수 있어요. 엄청나게 긴 것을 단 2글자로 압축을 할 수도 있어요. 이 정도만 보면 꽤 대단하고 위력적인 것임을 알 수 있습니다. alias만 쉘에 쳐 보면, 현재 별칭이 적용되어 있는 것들만 출력이 됩니다. 먼저, 명령어 A를 B라는 이름으로 다시 부르게 하도록 하기 위해 등록하는 명령어는 alias B = 'A'입니다. 예를 들어서, head 라는 명령어를 hd라는 이름으로 다시 부르게 하려면, alias hd = 'hea..
리눅스 검색 결과
3개월만에 쓰는 명령어 시간입니다. ln 명령어는 저번에, 하드링크와 심볼릭 링크를 언급했을 때, 언급을 한 적이 있었습니다. [관련글] [리눅스/명령어] - 하드 링크 vs 심볼릭 링크 : 어느 것을 가리키는가? 복습도 다시 한 번 해 보시는 것도 괜찮을 듯 싶네요. 링크에 대해서 조금 더 보는 것도 괜찮고요. -s를 붙이면 윈도우에서 말하는 '바로가기'를, 그렇지 않으면 하드 링크를 생성합니다. 예제를 보겠습니다. 먼저, 파일이 이렇게 있어요. 저는 -i 옵션을 주어서 inode 번호만을 출력을 했습니다. 1.txt의 번호와, 2의 번호가 같아요. 282861로요. 그러면, 1.txt와 2는 같은 파일을 가리키는 것이라고 봐도 무난합니다. alias라고 생각하시면 좋겠습니다. 이것을 그림으로 그리면 ..
리눅스에서 wait와 waitpid는 프로세스의 종료 상태를 리턴해 주는 함수입니다. pid_t waitpid(pid_t pid,int *statloc,int options); 성공을 하면, 프로세스 ID를, 오류가 발생하면 -1을, 그 외의 경우에는 0을 리턴합니다. 그런데, 이 함수가 wait와 다른 점은, 특정한 자식 프로세스를 기다리게 할 수 있다는 것입니다. 일단 위의 두 옵션만 아셔도 무난할 듯 싶어요. 프로세스 그룹은, 추후에 다시 설명해 드리도록 하겠습니다. 3번째 인자의 옵션이 중요한데요. WNOHANG, WCONTINUED, WUNTRACED 등이 있어요. sleep sort를 설명했을 때, 옵션으로 준 것은 이 중 1번째 것이였는데요. 이 때에는 종료된 자식이 존재하지 않아도, 블로킹..
fork 함수로 자식 프로세스를 생성할 수 있다고 하였습니다. 그러면, 부모 프로세스가 자식 프로세스가 종료가 될 때 까지 대기를 하게 할 수 없을까요? 그럴 때 wait 함수를 쓰시면 됩니다. pid_t wait(int *stat); 성공 시에, 종료된 자식의 pid를, 실패하면 -1을 반환합니다. 물론 stat에 NULL값을 넣어도 되는데요. 이 때에는, 전달된 매개변수에 상태값을 저장하지 않습니다. man ps를 쳐 봅시다. 스크롤을 쭉 내리시면 아래와 같은 설명이 나오는데요. 이는, 상태값에 따른 프로세스의 상태를 의미해요. 여기서 보아야 할 것은 R, 그러니까 run queue에 있는 상태. 이것과 S인데요. S는 interruptible sleep을 의미합니다. 인터럽트를 받을 수 있는 sle..
오늘은 sleep sort에 나왔었던, unistd.h에 있는, 리눅스 fork 함수에 대해서 알아보겠습니다. int fork(); 이것만 보면 별 거 없어요. 그냥 프로세스를 생성해주는 역할을 합니다. 그런데, 리턴 값이 2개인데요. 예를 들어서 process A에서 fork가 호출되어서 process B가 생성이 되었다고 합시다. 그러면, A의 자식은 B가, B의 부모는 A가 됩니다. 그러면, 이 때, 프로세스 B에서는 0이라는 값이, 프로세스 A에는 B의 pid 값이 리턴이 됩니다. 이제 이 함수를 호출하면 어떤 식으로 흘러가는지 예제만 보도록 하겠습니다. 먼저 global 변수와, heap, stack 변수를 하나씩 생성했습니다. 그리고 10번째 줄에서 문제의 함수를 호출하였습니다. 일단, 그러면..
최근댓글