셸 에서 프로 세 스 의 프론트 데스크 톱 과 백 스테이지 가 실 행 됩 니 다.

시스템 작업 과 관련 된 몇 가지 명령: fg, bg, jobs, &, ctrl + z1. & 가장 자주 사용 되 는 명령  이것 은 명령 의 마지막 에 사용 되 며, 이 명령 을 배경 에 놓 고 2. ctrl + z 를 실행 할 수 있 습 니 다.    프론트 데스크 에서 실행 중인 명령 을 백 스테이지 에 놓 고 3. jobs 를 일시 정지 할 수 있 습 니 다.    현재 배경 에서 실행 중인 명령 이 얼마나 되 는 지 보기 4. fg    백 스테이지 의 명령 을 프론트 데스크 톱 으로 옮 겨 계속 실행 합 니 다. 배경 에 여러 명령 이 있 으 면 fg% jobnumber 로 선택 한 명령 을 호출 할 수 있 습 니 다.% jobnumber 는 jobs 명령 을 통 해 알 수 있 는 배경 에서 실행 중인 명령 의 번호 입 니 다 (pid 가 아 닙 니 다)
5. bg 는 배경 에서 일시 정지 명령 을 계속 실행 하 는 것 으로 바 꿉 니 다.
배경 에 여러 명령 이 있 으 면 bg% jobnumber 로 선택 한 명령 을 내 보 낼 수 있 습 니 다.% jobnumber 는 jobs 명령 을 통 해 알 수 있 는 배경 에서 실행 중인 명령 의 번호 (pid 가 아 닌) 1. jobs 는 배경 작업 정 보 를 열거 합 니 다.([작업 번호]  운행 상태  작업 이름) 2. ctrl + z 작업 을 배경 에 놓 고 일시 정지 합 니 다.3. bg  <%int > 배경 작업 을 깨 우 고 배경 에서 실행 합 니 다.4. fg   <%int > 다음 작업 의 프로그램 을 프론트 에 놓 기;
1.  ctrl + z 작업 을 백 스테이지 에 놓 고 일시 정지 합 니 다.    주 프로 세 스 waitpid (pid, & status, Wuntraced) 시 하위 프로 세 스    종료 시 부모 프로 세 스 가 깨 어 납 니 다.
2.  백 스테이지 작업 을 깨 워 백 스테이지 에서 실행 하기;    kill(pid,SIGCONT);  
3.  백 스테이지 에서 실행 되 는 프로그램 을 프론트 데스크 에 놓 기;    kill(pid,SIGCONT);       waitpid(pid,&status,WUNTRACED); void fg(char*p)
{
int pid=0;
if(p!=NULL)
{
       pid=atol(p);
kill(pid,SIGSTOP);
kill(pid,SIGCONT);
       waitpid(pid,NULL,NULL);
       pid_jobs[jobs_num--]=0;
}
else
printf("error
"
);
return 0;
}

void bg(char*p)  
{
int pid=0;
if(p!=NULL)
{
   pid=atol(p);  
kill(pid,SIGCONT);
   pid_jobs[jobs_num--]=0;
}
else
printf("error
"
);
return 0;
}
// , 。 , 。 , SIGCONT 。

좋은 웹페이지 즐겨찾기