C에서 다른 프로그램을 실행/열기/실행하는 방법과이를 차단하지는 않지만 동시에 실행하십시오. 그런 다음 서버/클라이언트와 같은 테스트를하고 싶습니다. 그리고 나서이 프로그램이 종료 되었으면이 프로그램을 닫고 싶습니다. 내가 읽었습니다 system() or execv()
그러나 처음에는 결과를 기다리고있는 것 같습니다. 두 번째는 Linux에서만 작동하는
내 프로그램에서 fork 및 exec 시스템 호출을 사용해야합니다. exec는 자식 프로세스를 변경하여 다른 명령을 인수로 사용하고 해당 명령을 실행합니다. ./myexecv cat etc/motd 아무 일을 실행하지 후이 내 현재 코드 extern char **environ; /* environment info */
main(int argc, char
다음은 두 자식 프로세스간에 올바른 파이핑을 수행하는 방법을 이해하려고 시도한 것입니다. 나는 한 리눅스 명령의 출력을 다른 명령에 넘겨주고 프로그램을 성공적으로 반환하려고한다. 그러나 나는 두 번째 자식이 갇혀 있고 부모는이 자식을 영원히 기다리고 있다고 생각합니다. 나는 왜이 코드가 오랫동안 빠져 나가고 있는지 알아 내려고 노력 해왔다. 나는 C 시스템
나는이 간단한 프로그램을 썼다. 나는 그것의 출력을 아래에 열어 test.log에 기록하기를 원합니다. 내가 이것을 할 수 있습니까? int main(int argc, char **argv)
{
int fd = open("test.log", O_CREAT|O_WRONLY);
char *path[2];
path[0] = "/
저는 linux와 c를 사용합니다. 먼저 , I 소프트 링크 빈/zsh을 나는 루트 실행 다음 프로그램으로 로그인, 둘째 쉬합니다. #include <string.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char *v[3];
if(argc < 2) {
, 나는 종류의 새로운 나는 다음과 같은 char* Args[] = { "/bin/sh", "-c", "/bin/bash" };
execve("/bin/sh", Args, NULL)
을 복제하는 것을 시도하고있다 global _start
section .text
_start:
push dword 0x0068732F ; Push /sh
내가 자바 응용 프로그램을 실행하기 위해 노력하고있어에게 개방에서 자바 프로그램을 방지 : OK 작동하는지 char *cmd[] = {"a.jar"};
execve("a.jar",cmd,NULL);
하지만, 나는이 프로그램이 그런 일을 사용하여 열 수 있습니다 스레드의 수를 제한하려고하면 struct rlimit rlp;
rlp.rlim_cur =
파일에서 읽은 프로세스 목록을 실행하고 일정을 잡으려고합니다. 파일은 무작위 순서로 실행되고 있으며 왜 이런 일이 발생하는지 궁금합니다. 첫 번째, 두 번째, etc 파일에서 실행중인 명령을 나타내는 간단한 print 문을 사용하며, 항상 다른 (겉으로보기에 무작위 인) 명령으로 인쇄합니다. 지금까지 내 기능을 엉망으로 만들고있는 것은 아니며, 왜 이것이