shell 命令在 linux 守护进程中
shell command inside the linux daemon
我写了daemon in C/C++ in linux
。
现在我想在守护进程中获取 ls -l
(列表目录)命令的输出并将命令输出写入文件。
我知道如何从我的守护程序写入文件,但是,
我不知道如何执行 ls -l 命令并在缓冲区中获取输出。
这是代码...
/* Create a new SID for the child process */
sid = setsid();
if (sid < 0) {
/* Log any failures here */
ofs << "set sid : fail";
ofs.close();
exit(EXIT_FAILURE);
}
ofs << "\nchdir :" << chdir(filePath) << "\n";
/* Change the current working directory */
if ((chdir(filePath)) < 0) {
/* Log any failures here */
ofs << "chdir : fail";
ofs.close();
exit(EXIT_FAILURE);
}
/* Close out the standard file descriptors */
close(STDIN_FILENO);
close(STDOUT_FILENO);
close(STDERR_FILENO);
while(1){
//here I want to execute the ls -l and get output of the command
}
我写了daemon in C/C++ in linux
。
现在我想在守护进程中获取 ls -l
(列表目录)命令的输出并将命令输出写入文件。
我知道如何从我的守护程序写入文件,但是,
我不知道如何执行 ls -l 命令并在缓冲区中获取输出。
这是代码...
/* Create a new SID for the child process */
sid = setsid();
if (sid < 0) {
/* Log any failures here */
ofs << "set sid : fail";
ofs.close();
exit(EXIT_FAILURE);
}
ofs << "\nchdir :" << chdir(filePath) << "\n";
/* Change the current working directory */
if ((chdir(filePath)) < 0) {
/* Log any failures here */
ofs << "chdir : fail";
ofs.close();
exit(EXIT_FAILURE);
}
/* Close out the standard file descriptors */
close(STDIN_FILENO);
close(STDOUT_FILENO);
close(STDERR_FILENO);
while(1){
//here I want to execute the ls -l and get output of the command
}