Cs Output
Cs Output
1. who
[2k10cs@localhost ~]$ who
2k10cs pts/1 2011-01-03 09:36 (172.16.1.183)
2k9cs062 pts/2 2011-01-03 09:51 (172.16.0.123)
2k9cs055 pts/3 2011-01-03 09:43 (172.16.0.116)
2k9cs058 pts/8 2011-01-03 09:54 (172.16.0.119)
2k9cs064 pts/9 2011-01-03 09:51 (172.16.0.125)
2k9cs063 pts/14 2011-01-03 09:44 (172.16.0.124)
2k9cs063 pts/10 2011-01-03 09:56 (172.16.0.124)
2k9cs051 pts/11 2011-01-03 09:54 (172.16.0.112)
[2k10cs@localhost ~]$
2. who am i
[2k10cs@localhost ~]$ who am i -H
NAME LINE TIME COMMENT
2k10cs pts/30 2011- 01-03 10:01 (172.16.1.183)
[2k10cs@localhost ~]$
3. finger
[2k10cs@localhost ~]$ finger
Login Name Tty Idle Login Time Office Office Phone
2k9cs051 pts/11 1 Jan 3 10:02 (172.16.0.112)
2k9cs052 pts/19 Jan 3 10:02 (172.16.0.113)
2k9cs053 pts/29 Jan 3 10:04 (172.16.0.114)
2k9cs054 pts/5 Jan 3 10:02 (172.16.0.115)
2k9cs055 pts/3 26 Jan 3 09:43 (172.16.0.116)
2k9cs055 pts/22 Jan 3 09:54 (172.16.0.116)
2k9cs057 pts/28 Jan 3 10:02 (172.16.0.118)
2k9cs058 pts/8 Jan 3 09:54 (172.16.0.119)
2k10cs pts/30 Jan 3 10:01 (172.16.1.183)
[2k10cs1@localhost ~]$
[2k10cs001@localhost ~]$
[2k10cs001@localhost ~]$
5. history
[2k10cs@localhost ~]$ history
[2k10cs001@localhost ~]$
6. man
[2k10cs@localhost ~]$ man
[2k10cs001@localhost ~]$
7. exit
[2k10cs@localhost ~]$ exit
8. date
[2k10cs@localhost ~]$ date
Mon Jan 3 13:43:03 IST 2011
[2k10cs@localhost ~]$
[2k10cs@localhost ~]$
[2k10cs@localhost ~]$ date +%d
03
[2k10cs@localhost ~]$ date +%m
01
[2k10cs@localhost ~]$ date +%b
Jan
[2k10cs@localhost ~]$ date +%y
11
[2k10cs@localhost ~]$ date +%Y
2011
[2k10cs@localhost ~]$ date +%a
Mon
[2k10cs@localhost ~]$ date +%H
14
[2k10cs@localhost ~]$ date +%M
28
[2k10cs@localhost ~]$ date +%S
50
[2k10cs@localhost ~]$ date +%d-%m-%Y
20- 01-2011
[2k10cs@localhost ~]$ date “+%d %h %Y”
20 Jan 2011
[2k10cs@localhost ~]$
9. echo
[2k10cs@localhost ~]$ echo Welcome to li nux
Welcome to linux
[2k10cs@localhost ~]$
10. id
[2k10cs@localhost ~]$ id
uid=659(2k10cs001) gid=759(user) groups=759(user),901(user)
context=system_u:system_r:unconfined_t
[2k10cs@localhost ~]$
11. tty
[2k10cs@localhost ~]$ tty
/dev/pts/1
[2k10cs@localhost ~]$
12. bc
[2k10cs@localhost ~]$ bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
5*3
15
[2k10cs@localhost ~]$
[2k10cs@localhost ~]$ bc -q
5*6
30
[2k10cs@localhost ~]$
13. mail
[2k10cs@localhost ~]$ mail 2k10cs002
Subject hi
Hai
Cc:
[2k10cs@localhost ~]$
14. wall
[2k10cs@localhost ~]$ wall
Hai
[2k10cs@localhost ~]$
15. write
[2k10cs@localhost ~]$ write 2k10cs002
Hai
[2k10cs@localhost ~]$
16. ps
[2k10cs@localhost ~]$ ps
PID TTY TIME CMD
2712 pts/1 00:00:00 bash
5623 pts/1 00:00:00 ps
[2k10cs@localhost ~]$
17. clear
[2k10cs@localhost ~]$ clear
[2k10cs@localhost ~]$
18. uname
[2k10cs@localhost ~]$ uname
Linux
[2k10cs@localhost ~]$
25. &&
[2k10cs@localhost ~]$ dat && echo "hi"
-bash: dat: command not found
[2k10cs@localhost ~]$
26. ||
[2k10cs@localhost ~]$ dat || echo "hi"
-bash: dat: command not found
hi
[2k10cs@localhost ~]$
Ex. No:2 Working with Files
1. cat
For creating new file
[2k10cs@localhost ~]$ cat > countries
India
Pakistan
Srilanka
Australia
India
Am erica
[2k10cs@localhost ~]$
2. touch
[2k10cs@localhost ~]$ touch abc
[2k10cs@localhost ~]$
3. cp
[2k10cs@localhost ~]$ cp countries country
[2k10cs@localhost ~]$ cat country
India
Pakistan
Srilanka
Australia
India
Am erica
[2k10cs@localhost ~]$
4. mv
[2k10cs@localhost ~]$ mv country countlst
[2k10cs@localhost ~]$ cat countlst
India
Pakistan
Srilanka
Australia
India
Am erica
[2k10cs@localhost ~]$
5. rm
[2k10cs@localhost ~]$ rm count.lst
[2k10cs@localhost ~]$
6. ls
[2k10cs@localhost ~]$ ls
a.c dead.letter fact.sh lock3.sh prim e.sh sumeven.sh
bc.sh digitcount.sh fibonacci.sh lock.sh sa sumnat.sh
big3.sh digitsum.sh file1.c multi.sh sample sumodd.sh
circle.sh even.sh fl.c oddeven.sh se :wq
countlst f1 lock1.sh odd.sh selva
countries fact lock2.sh oxf sema.c
[2k10cs@localhost ~]$
7. wc
[2k10cs@localhost ~]$ wc multi.sh
9 28 173 multi.sh
[2k10cs@localhost ~]$
8. sort
[2k10cs@localhost ~]$ sort countries
Am erica
Australia
India
India
Pakistan
Srilanka
[2k10cs@localhost ~]$
9. fil e
[2k10cs@localhost ~]$ file countries
countries ascii text
[2k10cs@localhost ~]$
I/O Redirection
1. >
[2k10cs@localhost ~]$ ls > myfile
[2k10cs@localhost ~]$
2. <
[2k10cs@localhost ~]$ cat < myfile
abc
a.c
bc.sh
big3.sh
circle.sh
countlst
Fr i Jan 7 11:00:11 IST 2011
[2k10cs@localhost ~]$
3. >>
[2k10cs@localhost ~]$ date >> myfile
[2k10cs0@localhost ~]$ cat myfile
Ex. No:3 Working with Directories
1. pwd
[2k10cs@localhost ~]$ pwd
/home/2k10cs
[2k10cs@localhost ~]$
2. mkdir
[2k10cs@localhost ~]$ mkdir CPLII
[2k10cs@localhost ~]$
3. rmdir
[2k10cs@localhost ~]$ rmdir CPLII
[2k10cs@localhost ~]$
4. cd
[2k10cs@localhost ~]$ cd CPL
[2k10cs@localhost CPL]$
Ex. No:4 UNIX Editor
Starting vi editor
Inserting text
O – Opens a blank line before the current Line
Deleting text
Ex. No:5 Pipes
1. Pipe
[2k10cs0@localhost ~]$ who|wc -l
2
[2k10cs@localhost ~]$
2. tee
[2k10cs@localhost ~]$ who|tee sample |wc
1 5 54
[2k10cs@localhost ~]$
Ex. No:6 Filters
1. head
[2k10cs@localhost ~]$ head -4 fruits
Grapes
Orange
Apple
Banana
[2k10cs@localhost ~]$
2. tail
[2k10cs@localhost ~]$ tail -4 fruits
Apple
Banana
Papaya
Pineapple
[2k10cs@localhost ~]$
3. nl
[2k10cs@localhost ~]$ nl countries
1 India Asia
2 USA America
3 China Asia
4 Canada America
5 Sudan Africa
6 India Asia
7 India Asia
[2k10cs@localhost ~]$
4. uniq
[2k10cs@localhost ~]$ sort countries -o count.lst
[2k10cs@localhost ~]$ cat count.lst
Canada Am erica
China Asia
India Asia
India Asia
India Asia
Sudan Africa
USA America
[2k10cs@localhost ~]$ uniq count.lst
Canada Am erica
China Asia
India Asia
Sudan Africa
USA America
[2k10cs@localhost ~]$
5. comm
[2k10cs@localhost ~]$ cat countries
Am erica
Asia
India
Pakistan
Srilanka
2k10cs@localhost ~]$ cat count.lst
Am erica
Asia
Canada
China
India
Srilanka
[2k10cs@localhost ~]$ comm countries count.lst
Am erica
Asia
Canada
China
India
Pakistan
Srilanka
[2k10cs@localhost ~]$
6.diff
[2k10cs@localhost ~]$ cat countries
Am erica
Asia
India
Pakistan
Srilanka
2k10cs@localhost ~]$ cat count.lst
Am erica
Asia
Canada
China
India
Srilanka
[2k10cs@localhost ~]$ diff countries count.lst
2a3,4
> Canada
> China
4d5
< Pakistan
[2k10cs@localhost ~]$
7.cmp
[2k10cs@localhost ~]$ cmp countries count.lst
countries count.lst differ: byte 14, line 3
[2k10cs@localhost ~]$
Ex. No:7 Grep and sed commands
1. grep
[2k10cs@localhost ~]$ cat countries
India Asia
USA America
China Asia
Canada Am erica
Sudan Africa
[2k10cs@localhost ~]$
[2k10cs@localhost ~]$ grep Asia countries
India Asia
China Asia
[2k10cs@localhost ~]$
2. sed
append
Append a line after nth line
[2k10cs@localhost ~]$ sed '2a\Australia' cntry
Am erica
Asia
Australia
India
Pakistan
Srilanka
[2k10cs@localhost ~]$
Insert
Insert a line before the nth line of the line.
[2k10cs@localhost ~]$ sed '2i\Australia' cntry
Am erica
Australia
Asia
Asia
Asia
India
Pakistan
Srilanka
[2k10cs@localhost ~]$
Insert a line before every line with the pattern
[2k10cs@localhost ~]$ sed '/Asia/i\Australia' cntry
Am erica
Australia
Asia
Australia
Asia
Australia
Asia
India
Pakistan
Srilanka
[2k10cs@localhost ~]$
Delete
Substitue
Substitute a word to another word
[2k10cs@localhost ~]$ sed 's/Asia/Australia/' cntry
Am erica
Australia
Australia
Australia
India
Pakistan
Srilanka
[2k10cs@localhost ~]$
[2k10cs@localhost ~]$ awk '{print NR " - " $1 " - " $2}' cntry
1 - America - Continent
2 - Asia - Continent
3 - Asia - Continent
4 - Asia - Continent
5 - India - Country
6 - Pakistan - Country
7 - Srilanka - Country
[2k10cs@localhost ~]$
1. chmod
[2k10cs@localhost ~]$ chmod 777 myfile
[2k10cs@localhost ~]$
2. chown
[2k10cs@localhost ~]$ chown staff01 myfile
[2k10cs@localhost ~]$
3. chgrp
[2k10cs@localhost ~]$ chown staff myfile
[2k10cs@localhost ~]$
4. ls -l
[2k10cs@localhost ~]$ ls -l
total 184
-rw-r--r-- 1 2k10cs users 4 Feb 4 11:00 A1
-rw-r--r-- 1 2k10cs users 33 Feb 25 14:50 ab
-rw-r--r-- 1 2k10cs users 46 Feb 11 12:17 actor
-rw-r--r-- 1 2k10csusers 187 Feb 25 10:54 Area.sh
-rw-r--r-- 1 2k10cs users 37 Feb 11 11:37 countires
-rw-r--r-- 1 2k10csusers 0 Feb 11 12:02 countries
-rw-r--r-- 1 2k10csusers 3 Feb 11 12:11 countries1
drwxr-xr-x 2 2k10csusers 4096 Feb 18 10:24 d1
drwxr-xr-x 3 2k10cs users 4096 Feb 18 10:54 ddd
-rw-r--r-- 1 2k10cs users 77 Feb 18 10:24 f1
-rw-r--r-- 1 2k10csusers 130 Feb 25 11:26 factorial
-rw-r--r-- 1 2k10cs users 133 Feb 25 11:13 factorial.sh
-rwxrw- --- 1 2k10cs users 32 Feb 18 11:58 family
-rw-r--r-- 1 2k10cs users 37 Feb 28 14:35 file1
-rw-r--r-- 1 2k10csusers 2 Feb 18 10:10 filename
-rw------- 1 2k10cs users 704 Feb 14 14:38 m box
-rw-r--r-- 1 2k10cs users 115 Mar 2 16:13 modes
-rw-r--r-- 1 2k10csusers 247 Feb 25 11:43 prim e
-rw-r--r-- 1 2k10cs users 141 Feb 25 11:58 prim e.sh
[2k10cs@localhost ~]$
5. passwd
[2k10cs@localhost ~]$ passwd
Changing password for user 2k10cs.
Changing password for 2k10cs
(current) UNIX password:
passwd: Authentication token manipulation error
[2k10cs@localhost ~]$
Shell Programming
Ex. No:10 Area and Circumference of the Circle
Program:
echo Enter the radius of the circle
read r
area=$(echo "3.14*$r*$r"|bc)
circum=$(echo "2*3.14*$r"|bc)
echo The area of the circle is $area
echo The circumference of the circle is $circum
Output:
[2k10cs@localhost ~]$ sh circle.sh
Enter the radius of the circle
8
The area of the circle is 200.96
The circumference of the circle is 50.24
[2k10cs@localhost ~]$
Ex. No:11 Factorial of a number
Program:
echo Enter a number
read n
fact=1
for ((i=1; i<=$n; i++))
do
fact=$(echo "$fact*$i"|bc)
done
echo The factorial of $n is $fact
Output:
[2k10cs@localhost ~]$ sh fact.sh
Enter a number
7
The factorial of 7 is 5040
[2k10cs@localhost ~]$
Ex. No:12 Prime number or not
Program:
echo Enter the Number
read n
count=0
for ((i=1; i<=$n; i++))
do
rem=$(echo "$n%$i"|bc)
if test $rem -eq 0
then
count=$(echo "$count + 1"|bc)
fi
done
if test $count -eq 2
then
echo The given number is prime
else
echo The given number is not prime
fi
Output:
[2k10cs@localhost ~]$ sh prime.sh
Enter the Number
37
The given number is prime
[2k10cs@localhost ~]$
Ex. No:13 Multiplication table
Program:
echo Enter the multiplication table number
read mulno
echo Enter the limit
read lmt
for ((i=1; i<=lmt; i++))
do
val=$(echo "$i*$mulno"|bc)
echo $i \* $mulno = $val
done
Output:
[2k10cs@localhost ~]$ sh multi.sh
Enter the multiplication table number
8
Enter the limit
10
1*8=8
2 * 8 = 16
3 * 8 = 24
4 * 8 = 32
5 * 8 = 40
6 * 8 = 48
7 * 8 = 56
8 * 8 = 64
9 * 8 = 72
10 * 8 = 80
[2k10cs@localhost ~]$
Ex: No:14 Odd number or even number
Program:
echo Enter the number
read n
rem=$(echo "$n%2"|bc)
if test $rem -e q 0
then
echo The given number is even
else
echo The given number is odd
fi
Output:
[2k10cs@localhost ~]$ sh oddeven.sh
Enter the number
743
The given number is odd
[2k10cs@localhost ~]$
Ex: No:15 Odd Series
Program:
echo Enter the range
read ran
st=1
echo The Odd Series is
for((i=1; i<=$ran; i++))
do
echo $st
st=$(echo "$st+2"|bc)
done
Output:
[2k10cs@localhost ~]$ sh odd.sh
Enter the range
6
The Odd Series is
1
3
5
7
9
11
[2k10cs@localhost ~]$
Ex: No:16 Even Series
Program:
echo Enter the range
read ran
st=2
echo The Even Series is
for((i=1; i<=$ran; i++))
do
echo $st
st=$(echo "$st+2"|bc)
done
Output:
[2k10cs@localhost ~]$ sh even.sh
Enter the range
5
The Even Series is
2
4
6
8
10
[2k10cs@localhost ~]$
Ex: No:17 Sum of N odd numbers
Program:
echo Enter the range
read ran
st=1
sum=0
for((i=1; i<=$ran; i++))
do
sum=$(echo "$sum+$st"|bc)
st=$(echo "$st+2"|bc)
done
echo The sum of the $ran odd numbers is $sum
Output:
[2k10cs@localhost ~]$ sh sumodd.sh
Enter the range
5
The sum of the 5 odd num bers is 25
[2k10cs@localhost ~]$
Ex: No:18 Sum of N even numbers
Program:
echo Enter the range
read ran
st=2
sum=0
for((i=1; i<=$ran; i++))
do
sum=$(echo "$sum+$st"|bc)
st=$(echo "$st+2"|bc)
done
echo The sum of the $ran even numbers is $sum
Output:
[2k10cs@localhost ~]$ sh sumeven.sh
Enter the range
5
The sum of the 5 even numbers is 30
[2k10cs@localhost ~]$
Ex: No:19 Sum of N natural numbers
Program:
echo Enter the range
read ran
st=1
sum=0
for((i=1; i<=$ran; i++))
do
sum=$(echo "$sum+$st"|bc)
st=$(echo "$st+1"|bc) done
echo The sum of the $ran natural numbers is $sum
Output:
[2k10cs@localhost ~]$ sh sumnat.sh
Enter the range
5
The sum of the 5 natural numbers is 15
[2k10cs@localhost ~]$
Ex: No:20 Fibonacci series
Program:
echo Enter the range
read ran
f0=-1
f1=1
echo The fibonacci series is
for((i=1; i<=$ran; i++))
do
f2=$(echo "$f0+$f1"|bc)
echo $f2
f0=$f1
f1=$f2
done
Output:
[2k10cs@localhost ~]$ sh fibonacci.sh
Enter the range
7
The fibonacci series is
0
1
1
2
3
5
8
[2k10cs@localhost ~]$
Ex: No:21 Counting number of digits in a number
Program:
echo Enter a number
read n
count=0
while test $n -ne 0
do
count=$(echo "$count+1"|bc)
n=$(echo "$n/10"|bc)
done
echo The Number of digits in a given number is $count
Output:
[2k10cs@localhost ~]$ sh digitcount.sh
Enter a number
12345
The Number of digits in a given number is 5
[2k10cs@localhost ~]$
Ex: No:22 Sum of digits of a number
Program:
echo Enter a number
read n
sum=0
while test $n -ne 0
do
d=$(echo "$n%10"|bc)
sum=$(echo "$sum+$d"|bc)
n=$(echo "$n/10"|bc)
done
echo The Sum of digits in a given number is $sum
Output:
[2k10cs@localhost ~]$ sh digitsum .sh
Enter a number
12345
The Sum of digits in a given number is 15
[2k10cs@localhost ~]$
Ex: No:23 Biggest of three numbers
Program:
echo Enter three numbers
read a b c
if [ $a -ge $b -a $a -ge $c ]
then
echo $a is big
elif [ $b -ge $c ]
then
echo $b is big
else
echo $c is big
fi
Output:
[2k10cs@localhost ~]$ sh big3.sh
Enter three numbers
23 43 12
43 is big
[2k10cs@localhost ~]$
Ex: No:24 Arithmetic operation using case
Program:
echo Menu
echo 1.Addition
echo 2.Subtraction
echo 3.Multiplication
echo 4.Division
echo Enter your choice
read cho
if [ $cho -ge 1 -a $cho -le 4 ]
then
echo "Enter num1 and num2"
read num1 num2
case $cho in
1)
res=$(echo "$num1+$num2"|bc)
echo "The sum of $num1 and $num2 is $res"
;;
2)
res=$(echo "$num1-$num2"|bc)
echo "The difference of $num1 and $num2 is $res"
;;
3)
res=$(echo "$num1*$num2"|bc)
echo "The multiplication of $num1 and $num2 is $res"
;;
4)
res=$(echo "$num1/$num2"|bc)
echo " $num1 / $num2 is $res"
;;
esac
else
echo "Invalid Choice"
fi
Output:
[2k10cs@localhost ~]$ sh arithmetic.sh
1.Addition
2.Subtraction
3.Multiplication
4.Division
Enter your choice
1
Enter num1 and num2
10 13
The sum of 10 and 13 is 25
[2k10cs@localhost ~]$
Ex: No:25 Merging two files and Sorting using Command
Line Arguments
Program:
cat $1 > $3
cat $2 >> $3
echo "The two file $1 and $2 are merged to $3"
echo " "
echo "The content of $3 is"
cat $3
echo " "
echo "The content of $3 after sorting is"
sort $3 -o $3
cat $3
Output:
[2k10cs001@localhost ~]$ cat file1
Unix commands
[2k10cs001@localhost ~]$ cat file2
Shell Programming
[2k10cs@localhost ~]$ sh merge.sh file1 file2 file3
The two file file1 and file2 are merged to file3
Output:
[2k10cs@localhost ~]$ cc fork1.c –o fork1
[2k10cs@localhost ~]$ ./fork1
Before forking ...
Child Process fpid=0
After forking fpid=0
Parent Process fpid=26333
After forking fpid=26333
[2k10cs@localhost ~]$
Ex: No:27 Simulation of signal
Program:
#include <stdio.h>
#include <signal.h>
#define MAX_i 10000
#define DIVISOR 1000
#define MAX_j 20000
void main()
{
int i;
unsigned long j, sum;
signal(SIGINT, SIG_IGN);
printf("CPU-bound loop started. Pressing Ctrl-C has no effect....\n");
for(i=1;i<=MAX_i;i++)
{
sum=0;
for(j=0;j<=MAX_j;j++)
{
sum += j;
}
if(i%DIVISOR == 0)
{
printf("Iteration %d, sum = %ld\n", i, sum);
}
}
printf("Computation is done.\n\n");
signal(SIGINT, SIG_DFL);
printf("CPU-bound loop restarted.Pressing Ctrl-C HAS effect now...\n");
for(i=1;i<=MAX_i;i++)
{
sum=0;
for(j=0;j<=MAX_j;j++)
{
sum += j;
}
if(i%DIVISOR == 0)
{
printf("Iteration %d, sum = %ld\n", i, sum);
}
}
printf("Computation is done.\n");
}
Output:
[2k10cs@localhost cprg]$ cc signal.c –o signal
[2k10cs@localhost cprg]$ ./signal
CPU-bound loop started. Pressing Ctrl-C has no effect....
Iteration 1000, sum = 200010000
Iteration 2000, sum = 200010000
Iteration 3000, sum = 200010000
Iteration 4000, sum = 200010000
Iteration 5000, sum = 200010000
Iteration 6000, sum = 200010000
Iteration 7000, sum = 200010000
Iteration 8000, sum = 200010000
Iteration 9000, sum = 200010000
Iteration 10000, sum = 200010000
Computation is done.
[2k10cs@localhost cprg]$
Ex: No:28 File handling – Copy the content of one
file to another file
Program:
#include<stdio.h>
#include<fcntl.h>
main()
{
FILE *fp1,*fp2;
char c,srcflname[35],tarflname[35];
printf("\nEnter the source file:");
scanf("%s",srcflname);
printf("\nEnter the target file :");
scanf("%s",tarflname);
fp1=fopen(srcflname,"r");
fp2=fopen(tarflname,"w");
if(fp1==NULL)
{
printf("\nCannot open the file %s",srcflname);
}
else if(fp2==NULL)
{
printf("\nCannot open the file %s", tarflname);
}
else
{
while(!fe of(fp1))
{
c=getc(fp1);
putc(c,fp2);
}
printf("\nThe file is copied");
}
fclose(fp1);
fclose(fp2);
}
Output:
[2k10cs@localhost ~]$ cat fruits
Mango
Apple
Orange
[2k10cs@localhost ~]$ cc filecpy.c –o filecpy
[2k10cs@localhost ~]$ ./filecpy
Enter the source file:fruits
Output:
[2k10cs@localhost ~]$ cc unxcmd.c - unxcm d
[2k10cs@localhost ~]$ ./unxcmd
Curr ent date
Mon Jan 31 11:27:21 IST 2011
Your login id is
2k10cs
[2k10cs@localhost ~]$
Ex: No:30 Simulation of wait system call
Program:
#include<stdio.h>
#include<unistd.h>
int main()
{
int pid, status;
if(fork())
{
printf("\nI'm the parent, and waiting");
pid=wait(&status);
printf("\nI'm the parent. \n - my child's PID is %d \n - my child's exit status is %d\n",pid,status);
}
else
{
printf("\nI'm the child, and sleeping");
sleep(2);
printf("\nI'm the child, and exiting");
exit(0);
}
}
Output:
[2k10cs@localhost cprg]$ cc wait.c - o wait
[2k10cs@localhostcprg]$ ./wait