Linux
Linux
#include <stdio.h>
#include <unistd.h>
using namespace std; Output:
9755
int main(int argc, char *argv[]) { 9755
int pid ; Not a problem!
char *args[2] ; 00OOOpppssss.
pid = fork() ;
printf("%d\n",pid);
if (pid ==0)
{ args[0] = "./a.out" ;
args[1] = NULL ;
execv("./a.out", args) ;
printf("%d\n",pid);
printf("OOOpppssss.\n") ;
}
else
{printf("%d",pid);
printf("Not a problem!\n") ;}
return 0;
}
Ex.no:2a OPEN SYSTEM CALL
PROGRAM:
#include<stdio.h>
int main()
{
int fd;
if((fd=open(“file.dat”))==-1)
{
perror(“cannot open the file.dat”);
exit(0);
}
else
printf(“\n FILE OPENED SUCCESSSFULLY”);
return 0;
}
OUTPUT:
FILE OPENED SUCCESSSFULLY
Ex.no:2b READ SYSTEM CALL
#include<stdio.h>
main()
{
char b[20];
int fd,xr;
if((fd=open(“write”,0))==-1)
{
printf(“cannot open file”);
exit(1);
}
do
{
xr=read(fd,b,20);
b[xr]=’\0’;
printf(“%s”,b);
}
while(xr==20);
close(fd);
}
OUTPUT:
balaji.S
II YEAR
Ex.no: 2c WRITE SYSTEM CALL
#include<stdio.h>
main(int ac,char*av[])
{int fd;
int i=1;
char*sep=” “;
if(ac<1)
{printf(“\n INSUFFICIENT ARGUMENTS");
exit(1);}
if((fd=open(“balaji”,0660))==-1)
{printf(“\n CANNOT CREATE THE FILE”);
exit(1);}
while(i<ac)
{write(fd,av[i],(unsigned)strlen(av[i]));
write(fd,sep,(unsigned)strlen(sep));
i++;}
close(fd);}
OUTPUT:
cc write.c
./a.out balaji
cat balaji
os lab
balaji
Ex.no: 3a PROGRAM FOR SIMULATION OF LS UNIX
#include<stdio.h>
COMMANDS
#include<dirent.h>
main(int argc, char **argv)
{
DIR *dp;
struct dirent *link;
dp=opendir(argv[1]);
printf(“\n contents of the directory %s are \n”, argv[1]);
while((link=readdir(dp))!=0)
printf(“%s”,link->d_name);
closedir(dp);
}
SAMPLE OUTPUT:
Cc list.c
./a.out os
CONTENTS OF THE DIRECTORY OS ARE
Priority.c
Robin.c
copy
Ex.no:3b PROGRAM FOR SIMULATION OF GREP UNIX
COMMANDS
#include<stdio.h>
#include<string.h>
void usage()
{FILE *fp;
char fline[max];
char *newline;
int count=0;
int occurrences=0;
if(argc!=3)
usage();
exit(1);
}
if(!(fp=fopen(argv[1],”r”)))
exit(1);}
while(fgets(fline,max,fp)!=NULL)
{count++;
if(newline=strchr(fline, ‘\n’))
*newline=’\0’;
if(strstr(fline,argv[2])!=NULL)
occurrences++;}}}
SAMPLE OUTPUT
CAT>SAMP
ONE
ONE TWO
THREE FOUR
Cc grep.c
Samp:1 one