Blogger news

Followers

Showing posts with label Unix program. Show all posts
Showing posts with label Unix program. Show all posts
Tuesday, August 12, 2014

/*C program to create a file with 16 bytes of arbitrary data from the beginning and another 16 bytes of arbitrary data from an offset of 48.Display the following file contents to demonstrate how the hole in a file is handled */

#include<stdio.h>
#include<fcntl.h>
#include"string.h"


int main()
{
   
    //create a new file by named as file.txt

    int n=creat("file.txt","w");
    char ch[16]="hello world how are";
    char str[20]="od -c file.txt";
   //change permission of file.txt with maximum access

    system("chmod 777 file.txt");
   //write "helloworld string in file.txt     
   write(n,ch,16);
   // to move cursor from begging to 48th position 
    lseek(n,48,SEEK_SET);
  //write "helloworld string in file.txt     

  write(n,ch,16);
    // to prompt command in command prompt
    system(str);
    return(0);
}




 
/*C program to create a file with 16 bytes of arbitrary data from the beginning and another 16 bytes of arbitrary data from an offset of 48.Display the following file contents to demonstrate how the hole in a file is handled with using Command Line Arguments*/
#include<stdio.h>
#include<fcntl.h>
#include"string.h"


int main(int argc,char *argv[])
{
   
      int n=creat(argv[1],"w");
    char ch[16]="hello world how are";
    char str[20]="od -c ";
    char mode[20]="chmod 777 ";

    write(n,ch,16);    
     lseek(n,48,SEEK_SET);
     write(n,ch,16);
    strcat(mode,argv[1]);
       
    system(mode);
   
    strcat(str,argv[1]);
       
    system(str);
    return(0);
}

--------------------------------
screenshot:
output screenshot of vtu sylabus program|OS and SS Laboratory
 
#A non-recursive shell script that accepts any number of arguments and prints #them in the Recursive order, (For example,if the script is named rargs,then #executing rags ABC should produce CBA on the standard output)

echo "input string is :$*"
for x in "$@"
do
y=$x" "$y
done
echo "reversed string is: $y"

---------
output:

sh <filename>.sh x y z
input sting is :x y z
reversed string is: z y x 
Friday, July 25, 2014
/*C program that creates a child process to read commands from the standard input and execute them.You can assume that no arguments will be passed to the commands to be executed*/

#include<stdio.h>
#include<unistd.h>
int main()
{
    char i[10];
    int n;
    //int status;
    while(1)
    {
        printf("Enter your command\n");
        get(i);
        n=fork()
       
        if(n==0)
        {   /*it's for executes in new process execl("/bin/sh/","sh","-c",i,null)
              and add library unisd.h*/

            

             execl("/bin/sh/","sh","-c",i,null);
            exit(0);
        }
        else if(n>0)
        {    /*sometime wait() is not working then you change wait function to
            this following part:
                while(waitpid(n,status,0)<0)
                {
                    break;
                }
            */

            wait();
       
        }
        else
        {
            printf("error\n");
        }
    }
    return(0);
}