#include <sys/types.h> #include <sys/wait.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { pid_t pid1, pid2; int status1, status2; if ((pid1 = fork()) == 0) { // First child execl("/bin/ls", "ls", "-l", NULL); } else { // Parent if ((pid2 = fork()) == 0) { // Second child char *args[] = {"ps", "-A", NULL}; execv("/bin/ps", args); } else { // Parent // Wait for the first child waitpid(pid1, &status1, 0); // Wait for the second child waitpid(pid2, &status2, 0); } } return 0; }
Standard input is empty
total 16 -rwxr-xr-x 1 root root 14312 Sep 25 21:05 prog PID TTY TIME CMD 1 ? 02:25:16 systemd 2 ? 00:00:08 kthreadd 3 ? 00:00:00 rcu_gp 4 ? 00:00:00 rcu_par_gp 5 ? 00:00:00 slub_flushwq 6 ? 00:00:00 netns 8 ? 00:00:00 kworker/0:0H-events_highpri 10 ? 00:00:00 mm_percpu_wq 11 ? 00:00:00 rcu_tasks_kthread 12 ? 00:00:00 rcu_tasks_rude_kthread 13 ? 00:00:00 rcu_tasks_trace_kthread 14 ? 00:04:10 ksoftirqd/0 15 ? 02:27:55 rcu_preempt 16 ? 00:00:15 migration/0 18 ? 00:00:00 cpuhp/0 19 ? 00:00:00 cpuhp/1 20 ? 00:00:16 migration/1 21 ? 00:02:55 ksoftirqd/1 23 ? 00:00:00 kworker/1:0H-events_highpri 24 ? 00:00:00 cpuhp/2 25 ? 00:00:19 migration/2 26 ? 00:29:05 ksoftirqd/2 28 ? 00:00:00 kworker/2:0H-events_highpri 29 ? 00:00:00 cpuhp/3 30 ? 00:00:15 migration/3 31 ? 00:02:12 ksoftirqd/3 33 ? 00:00:00 kworker/3:0H-events_highpri 34 ? 00:00:00 cpuhp/4 35 ? 00:00:14 migration/4 36 ? 00:02:01 ksoftirqd/4 38 ? 00:00:00 kworker/4:0H-events_highpri 39 ? 00:00:00 cpuhp/5 40 ? 00:00:15 migration/5 41 ? 00:03:26 ksoftirqd/5 43 ? 00:00:00 kworker/5:0H-events_highpri 44 ? 00:00:00 cpuhp/6 45 ? 00:00:14 migration/6 46 ? 00:02:07 ksoftirqd/6 48 ? 00:00:00 kworker/6:0H-events_highpri 49 ? 00:00:00 cpuhp/7 50 ? 00:00:14 migration/7 51 ? 00:02:13 ksoftirqd/7 53 ? 00:00:00 kworker/7:0H-events_highpri 62 ? 00:00:00 kdevtmpfs 63 ? 00:00:00 inet_frag_wq 64 ? 00:00:00 kauditd 66 ? 00:00:02 khungtaskd 67 ? 00:00:00 oom_reaper 68 ? 00:00:00 writeback 69 ? 00:05:55 kcompactd0 70 ? 00:00:00 ksmd 71 ? 00:00:54 khugepaged 72 ? 00:00:00 kintegrityd 73 ? 00:00:00 kblockd 74 ? 00:00:00 blkcg_punt_bio 75 ? 00:00:00 tpm_dev_wq 76 ? 00:00:00 edac-poller 77 ? 00:00:00 devfreq_wq 78 ? 00:01:02 kworker/0:1H-kblockd 80 ? 00:02:01 kswapd0 87 ? 00:00:00 kthrotld 89 ? 00:00:00 acpi_thermal_pm 90 ? 00:00:00 mld 91 ? 00:00:00 ipv6_addrconf 96 ? 00:00:00 kstrp 105 ? 00:00:00 zswap-shrink 106 ? 00:00:00 kworker/u17:0 159 ? 00:01:25 kworker/4:1H-kblockd 160 ? 00:00:46 kworker/1:1H-kblockd 161 ? 00:12:43 kworker/3:1H-kblockd 162 ? 00:01:09 kworker/5:1H-kblockd 163 ? 00:06:24 kworker/2:1H-kblockd 164 ? 00:01:16 kworker/6:1H-kblockd 167 ? 00:01:07 kworker/7:1H-kblockd 188 ? 00:00:00 ata_sff 189 ? 00:00:00 scsi_eh_0 190 ? 00:00:00 scsi_tmf_0 191 ? 00:00:00 scsi_eh_1 192 ? 00:00:00 scsi_tmf_1 194 ? 00:00:00 scsi_eh_2 195 ? 00:00:00 scsi_tmf_2 196 ? 00:00:00 scsi_eh_3 197 ? 00:00:00 scsi_tmf_3 198 ? 00:00:00 scsi_eh_4 199 ? 00:00:00 scsi_tmf_4 200 ? 00:00:00 scsi_eh_5 201 ? 00:00:00 scsi_tmf_5 217 ? 00:00:00 md 220 ? 01:05:21 md0_raid1 225 ? 00:00:00 kdmflush/253:0 226 ? 00:00:00 kdmflush/253:1 245 ? 00:00:00 raid5wq 279 ? 00:07:04 jbd2/dm-0-8 280 ? 00:00:00 ext4-rsv-conver 336 ? 00:39:09 systemd-journal 373 ? 00:00:07 systemd-udevd 461 ? 00:00:00 ipmi-msghandler 468 ? 00:00:00 watchdogd 469 ? 00:00:45 mdadm 488 ? 00:00:00 cryptd 515 ? 00:00:00 kipmi0 673 ? 00:00:17 rpcbind 674 ? 00:00:21 systemd-timesyn 676 ? 00:00:00 rpciod 677 ? 00:00:00 xprtiod 680 ? 00:00:00 acpid 682 ? 00:00:10 cron 683 ? 00:00:00 svscanboot 684 ? 00:40:41 dbus-daemon 687 ? 00:03:31 irqbalance 689 ? 00:07:51 rsyslogd 698 ? 00:00:04 smartd 702 ? 00:14:51 systemd-logind 706 ? 00:00:00 atd 708 ? 00:00:00 agetty 709 ? 00:00:00 agetty 751 ? 00:02:48 svscan 752 ? 00:00:00 readproctitle 881 ? 00:00:00 supervise 882 ? 00:00:00 supervise 883 ? 00:00:00 supervise 884 ? 00:00:00 supervise 885 ? 00:00:00 supervise 886 ? 00:00:00 supervise 887 ? 00:00:00 supervise 888 ? 00:00:00 supervise 889 ? 00:00:00 supervise 890 ? 00:00:00 supervise 891 ? 00:00:00 supervise 893 ? 00:00:00 supervise 894 ? 00:00:00 supervise 896 ? 00:00:00 supervise 897 ? 00:00:00 supervise 899 ? 00:00:00 supervise 901 ? 00:00:00 supervise 902 ? 00:00:00 supervise 904 ? 00:00:00 supervise 906 ? 00:00:00 supervise 909 ? 00:00:00 supervise 910 ? 00:00:00 supervise 911 ? 00:00:00 supervise 912 ? 00:00:00 supervise 913 ? 00:00:00 supervise 914 ? 00:00:00 supervise 915 ? 00:00:00 supervise 916 ? 00:00:00 supervise 917 ? 00:00:00 supervise 918 ? 00:00:00 supervise 919 ? 00:00:00 supervise 920 ? 00:00:00 supervise 991 ? 00:00:00 sudo 992 ? 00:00:00 run 993 ? 00:00:00 run 994 ? 00:00:00 run 995 ? 00:00:00 sudo 996 ? 00:00:00 sudo 997 ? 00:00:00 run 998 ? 00:00:00 sudo 999 ? 00:00:00 run 1000 ? 00:00:00 run 1001 ? 00:00:00 run 1002 ? 00:00:00 run 1003 ? 00:00:00 sudo 1004 ? 00:00:00 run 1005 ? 00:00:00 sudo 1006 ? 00:00:00 run 1007 ? 00:00:00 run 1008 ? 00:00:00 sudo 1009 ? 00:00:00 run 1010 ? 00:00:00 run 1011 ? 00:00:00 run 1012 ? 00:00:00 run 1106 ? 00:00:00 run 1107 ? 00:00:00 sudo 1135 ? 00:07:53 sshd 1152 ? 00:06:43 multilog 1153 ? 00:00:00 multilog 1154 ? 00:05:04 multilog 1155 ? 00:00:00 multilog 1156 ? 00:00:00 multilog 1157 ? 00:00:00 multilog 1158 ? 00:05:03 multilog 1159 ? 00:06:12 multilog 1160 ? 00:06:34 multilog 1161 ? 00:00:00 multilog 1162 ? 00:05:04 multilog 1163 ? 00:00:00 multilog 1164 ? 00:00:00 multilog 1165 ? 00:00:00 multilog 1166 ? 00:06:32 multilog 1167 ? 00:00:00 multilog 1175 ? 00:20:31 exim4 1177 ? 00:13:25 python3 1178 ? 41-11:44:48 python3 1179 ? 42-12:57:44 python3 1180 ? 42-11:38:33 python3 1181 ? 41-10:11:33 python3 1182 ? 42-13:18:35 python3 1183 ? 41-11:45:54 python3 1184 ? 38-12:59:31 python3 3811753 ? 00:00:01 kworker/u16:3+netns 3823928 ? 00:00:00 kworker/u16:0-events_unbound 3825038 ? 00:00:00 kworker/7:2-events 3827287 ? 00:00:00 kworker/6:3-events 3828979 ? 00:00:00 kworker/5:2-events 3830891 ? 00:00:00 kworker/0:1-cgroup_destroy 3831457 ? 00:00:00 kworker/1:1-cgroup_destroy 3834677 ? 00:00:00 kworker/7:3-cgroup_destroy 3835569 ? 00:00:00 kworker/1:3-cgroup_pidlist_destroy 3835593 ? 00:00:00 kworker/3:1-cgroup_pidlist_destroy 3835835 ? 00:00:00 kworker/2:3-cgroup_pidlist_destroy 3835861 ? 00:00:00 kworker/4:0-cgroup_destroy 3836165 ? 00:00:00 kworker/6:4-inet_frag_wq 3836555 ? 00:00:00 kworker/5:1-events 3837261 ? 00:00:00 kworker/1:0-events 3837401 ? 00:00:00 kworker/2:2-cgroup_pidlist_destroy 3837414 ? 00:00:00 kworker/0:2-cgroup_pidlist_destroy 3837434 ? 00:00:00 kworker/4:1-events 3837619 ? 00:00:00 kworker/3:2-events 3837692 ? 00:00:00 kworker/6:1-events 3837712 ? 00:00:00 kworker/7:0-cgroup_destroy 3838359 ? 00:00:00 kworker/5:0-events 3838368 ? 00:00:00 kworker/2:1+events 3838432 ? 00:00:00 kworker/4:2-cgroup_pidlist_destroy 3838466 ? 00:00:00 kworker/u16:2-events_unbound 3838741 ? 00:00:00 kworker/3:0-events 3838779 ? 00:00:00 kworker/0:0-mm_percpu_wq 3838841 ? 00:00:00 kworker/6:0-cgroup_pidlist_destroy 3838861 ? 00:00:00 kworker/7:1-cgroup_destroy 3838927 ? 00:00:00 kworker/3:3-events 3839519 ? 00:00:00 kworker/0:3-inet_frag_wq 3839635 ? 00:00:00 kworker/4:3-events 3839657 ? 00:00:00 kworker/2:0-rcu_gp 3839694 ? 00:00:00 kworker/5:3-cgroup_destroy 3839729 ? 00:00:00 kworker/1:2 3839850 ? 00:00:00 kworker/u16:1 3839879 ? 00:00:00 bash 3839880 ? 00:00:00 secrun 3839881 ? 00:00:00 prog 3839886 ? 00:00:00 ps 3839892 ? 00:00:00 bash 3839893 ? 00:00:00 secrun 3839894 ? 00:00:00 java Soy el padre (3839881, hijo de 3839880)