APUE_1.6PrintTheProcessID

 1 /*
 2  * 1.6PrintTheProcessID.cpp
 3  *
 4  *  Created on: Feb 11, 2015
 5  *      Author: sunyj
 6  */
 7
 8 #include "../apuesunyj.h"
 9
10 int main(void)
11 {
12     printf("hello world from process ID %ld\n", static_cast<long>(getpid()));
13     return 0;
14 }
 1 // apuesunyj.h
 2 #ifndef APUE_SUNYJ
 3 #define APUE_SUNYJ
 4
 5 #include <errno.h>
 6 #include <stdio.h>
 7 #include <string.h>
 8 #include <stdarg.h>
 9 #include <stdlib.h>
10 #include <stdint.h>
11 #include <unistd.h>
12
13 void err_quit(const char *fmt, ...);
14 void err_sys(const char *fmt, ...);
15
16
17 #endif

时间: 2024-10-11 00:42:28

APUE_1.6PrintTheProcessID的相关文章

APUE_1.5CopyStandardInputToStandardOutputUsingStandardIO

1 /* 2 * 1.5CopyStandardInputToStandardOutputUsingStandardIO.cpp 3 * 4 * Created on: Feb 10, 2015 5 * Author: sunyj 6 */ 7 8 #include "../apuesunyj.h" 9 10 #define BUFFSIZE 4096 11 int main(void) 12 { 13 int n; 14 char buf[BUFFSIZE]; 15 while ((

APUE_1.9Signals Figure1.10ReadCommandsFromStandardInputAndExecuteThem

/* * 1.10ReadCommandsFromStandardInputAndExecuteThem.cpp * * Created on: Feb 11, 2015 * Author: sunyj */ #include "../apuesunyj.h" #include <sys/wait.h> static void sig_int(int); // our signal-catching function,static limit this function i

APUE_1.7ErrorHandling Figure1.8Demonstrate strerror and perror

man 3 errno /* * 1.8DemonstrateStrerrorAndPerror.cpp * * Created on: Feb 11, 2015 * Author: sunyj */ #include "../apuesunyj.h" int main(int argc, char *argv[]) { fprintf(stderr, "EACCES: %s\n", strerror(EACCES)); errno = ENOENT; perror

APUE_1.4CopyStandardInputToStandardOutput

1 // CopyStandardInputToStandardOutput.cpp 2 #include "../apuesunyj.h" 3 4 #define BUFFSIZE 4096 5 6 int main(void) 7 { 8 int n; 9 char buf[BUFFSIZE]; 10 11 while ((n = read(STDIN_FILENO, buf, BUFFSIZE)) > 0) 12 { 13 if (write(STDOUT_FILENO,

APUE_1.3ListAllTheFilesInADirectory

1 // 1.3ListAllTheFilesInADirectory.cpp 2 #include <dirent.h> 3 4 #include "../apuesunyj.h" 5 6 int main(int argc, char *argv[]) 7 { 8 DIR *dp; 9 struct dirent *dirp; 10 if (argc != 2) 11 { 12 err_quit("usage: ls directory_name")

APUE_1.8DemonstrateStrerrorAndPerror

/* * 1.8DemonstrateStrerrorAndPerror.cpp * * Created on: Feb 11, 2015 * Author: sunyj */ #include "../apuesunyj.h" int main(int argc, char *argv[]) { fprintf(stderr, "EACCES: %s\n", strerror(EACCES)); errno = ENOENT; perror(argv[0]); r

APUE_1.10ReadCommandsFromStandardInputAndExecuteThem

使用信号捕抓ctrl + c信号 /* * 1.10ReadCommandsFromStandardInputAndExecuteThem.cpp * * Created on: Feb 11, 2015 * Author: sunyj */ #include "../apuesunyj.h" #include <sys/wait.h> static void sig_int(int); // our signal-catching function,static limi