**'운영체제'**는 커널과 함께 사용자 편의를 위한 시스템 프로그램을 포함하며,
**'커널'**은 컴퓨터 자원을 관리하는 운영체제의 핵심 부분이다.
배포판과 운영체제는 같은 의미이나, **'배포판'**은 주로 리눅스 계열 운영체제에 한해 사용된다.
void display_process(){
struct task_struct *temp;
temp = &init_task;
for(;;){
printk("PID : %d PNAME : %s STATE: %d\\n",temp->pid, temp-> comm, temp->state);
temp = next_task(temp);
if(temp == &init_task)
break;
}
printk("\\n");
}
strstr
- 문자열에서 부분 문자열을 찾는 함수char *strstr(const char *haystack, const char *needle);
void display_processes_with_string(const char* target_string) {
struct task_struct *temp;
temp = &init_task;
for (;;) {
if (strstr(temp->comm, target_string) != NULL) {
// 만약 프로세스 이름에 target_string이 포함되어 있다면 출력
printk("PID: %d PNAME: %s STATE: %d\\n", temp->pid, temp->comm, temp->state);
}
temp = next_task(temp);
if (temp == &init_task)
break;
}
printk("\\n");
}
haystack
**는 대상 문자열입니다. 이 문자열에서 **needle
**을 찾습니다.needle
**은 검색하려는 부분 문자열입니다.needle
**이 **haystack
**에서 발견된 첫 번째 위치를 가리키는 포인터를 반환합니다. 만약 **needle
**이 **haystack
**에 없으면 NULL을 반환합니다.strcmp
- 문자열 비교 함수strcmp
는 C 언어에서 문자열 비교를 수행하는 표준 라이브러리 함수 중 하나
int strcmp(const char *str1, const char *str2);
str1
과 str2
는 비교하려는 두 문자열을 나타내는 포인터입니다.