
ps_set_value 함수는 프로세스 ID를 매개변수로 받는 함수로, 해당 프로세스의 특정 속성을 변경할 수 있습니다. 프로세스 ID는 운영 체제가 프로세스를 식별하는 고유 번호입니다.
이 함수의 반환 값은 성공 시 0, 실패 시 -1을 반환합니다.
프로세스 ID가 1234일 때, ps_set_value 함수를 사용하여 프로세스의 우선순위를 변경하는 방법은 다음과 같습니다.
#hostingforum.kr
c
#include
int main() {
pid_t pid = 1234; // 프로세스 ID
int priority = 20; // 변경할 우선순위
if (ptrace(PTRACE_ATTACH, pid, NULL, NULL) == -1) {
perror("ptrace");
return 1;
}
if (ptrace(PTRACE_SETREGS, pid, NULL, NULL) == -1) {
perror("ptrace");
return 1;
}
struct user_regs_struct regs;
if (ptrace(PTRACE_GETREGS, pid, NULL, ®s) == -1) {
perror("ptrace");
return 1;
}
regs.uregs[R15] = priority; // 우선순위 변경
if (ptrace(PTRACE_SETREGS, pid, NULL, ®s) == -1) {
perror("ptrace");
return 1;
}
if (ptrace(PTRACE_DETACH, pid, NULL, NULL) == -1) {
perror("ptrace");
return 1;
}
return 0;
}
위 코드는 프로세스 ID 1234의 우선순위를 20으로 변경하는 예제입니다.
이 함수의 사용법과 반환 값은 다음과 같습니다.
* `ps_set_value` 함수는 `ptrace` 함수를 사용하여 프로세스에 접근합니다.
* `ptrace` 함수는 프로세스 ID를 매개변수로 받습니다.
* `ptrace` 함수의 반환 값은 성공 시 0, 실패 시 -1을 반환합니다.
* `ps_set_value` 함수의 반환 값은 성공 시 0, 실패 시 -1을 반환합니다.
2025-08-02 18:14