0% found this document useful (0 votes)
17 views

process in unix

The document provides an overview of processes in Unix, explaining that a process is an instance of a running program and can exist in various states such as submit, hold, ready, run, wait, and complete. It details the process creation phases using system calls like fork, exec, and wait, and distinguishes between interactive, non-interactive, and daemon processes. Additionally, it covers command types recognized by the shell, background processing, and job control features in Unix, emphasizing the multitasking capabilities of the operating system.

Uploaded by

udptl012
Copyright
© © All Rights Reserved
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
17 views

process in unix

The document provides an overview of processes in Unix, explaining that a process is an instance of a running program and can exist in various states such as submit, hold, ready, run, wait, and complete. It details the process creation phases using system calls like fork, exec, and wait, and distinguishes between interactive, non-interactive, and daemon processes. Additionally, it covers command types recognized by the shell, background processing, and job control features in Unix, emphasizing the multitasking capabilities of the operating system.

Uploaded by

udptl012
Copyright
© © All Rights Reserved
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 23
| gaint Processes in Unix roduction x process can be @ running program, Thus every process 1s a program but the program which is tunning at q pamtieular mstance 1 ealled process Ina sumple way, we ean say that un instance of 9 program running in a memory 1 known asa process, Every instance of a running program ws a process, sothata single program can be unning as Several processes in different states, Processes have a life, they are ereated, run and finally termmate ordi ye know that Unix isa multi-user and multi-tasking operating system ft means that a any mstant, there might several programs of several users running in memory All the rams share the CPU's attention between thom, Thus by ensuring that the CPU doesn't remain idle, the overall eticiency ofthe system ts umproved, common misunderstanding that a program and a process are one und the same thing. They are very nearly 30, except for one difference. A program is the status ofa process when itstarts executing. Thusa process jan be defined as the instance of an executing program. Every process hasa unique number that sassigned by a emel known as Process IDentification, The PIDs start with 0 andtake up amaximum value 32767 92 Processand itsstate 7 rngre might be several processes executing in memory, but at a ume only one process get CPU attention. A, programm rin ia memory called scheduler, deeides which proces shout ystthe CPU atenion and when, rtany given moment, process can bein one ofthe six states: submit, hold, ready, run. waitand complete /When a user executes a program the scheduler submits process to a queue called process queue. At this moment the state ofa process is submit state. ¥ A submitted process waits for its tum in the process queue for some time then at this stage the process is said to be in hold state. ¥ Asthe process move forward in the process queue and at some instant it would become the next one in the {queue toreceive CPU attention. At this stage itis in ready state ¥ Finally the process gets the attention of CPU and starts getting executed and thereby it is known as a rocessis inrun state. nthe middle of this execution it might so happen that the time slice allotted to this process gets over and another process gets CPU attention and start running. At that time, the old process is retumed to the ready state and is placed back in the process queue. As the CPU switches its attention to the new process all the necessary parameters of the old process are saved for retrieval when its next time slice amnives. The old process will now be in ready state waiting for its next time slice toarrive. 7 Some processes might be required to do disk inputourput, Since 1/0 isa slow operation the CPU can'tlie je till the time V/O is over. Therefore, such processes are put in wait state until their VO is over and are then placed in the ready state. Aprocess whose execution comes toan end such state is called complete state and tha processis removed from the process queue. ee Views y UNIX Set Progra ey There are three types of processes: interactive, non-nteractiveand da cated by usets with the shell and are normally att interactive foreground process. (2) Certain processes ean be made to run independent of terminals. attachment to a terminal are called non-interacuive/backeround processes (3) Dacmons. All processes that keep running always without holding up any tern certain instructions cither from the system or the user and then immediately get to Acton are cay daemon. E.g. swapper. init, cron, buflush, vhandle ete MOS COM existence as soon as the system is booted and will be alive tll the systems ts shut down, One ean jy these processes prematurely. rons process hed to the terminal are caligy (1) Processes which are hy processes that run without ay sand Keep Watling jy xe daemon processes. These 9.3 Process creation phase TThere are three distinct phases in the creation ofa process and uses three unportant system calls oF functions non cycle will enable you to write programs that crea processesand also help you debug {i) fork: In Unix, a process 1s created with the fork system call, which creates a copy of the process thy invokes it. The process image is identical to that of the calling process, except for new parameters hike the PID. When a process is fork, the child gets a new PID. The fork mechanism is responsible for th. multiplication of processes m the system. : exe: fork creates a process but it is not enough to run a new program. To do that, the forked child neeg, i vensrite its own image with the code and data ofthe new program. This mechanism is called ex and the child process is said to exec a new program, No new process is created here, the PID and PPID of the exce's process remain unchanged. (inn) wait: the parent process executes the wait system call to wait for the completion of execution of cig process. It picks up the exit status of the child and then continues with its other functions. A parent may not decide to wait for the death of its child. For example. when you run a command say cat from the shell, the shell first forks another shell proces: The newly forked shell then overlays itself with the executable image of eat, which then starts to run. The parent (ie the shell) waits for cat (i.e. child process) 10 terminate and then picks up the exit status of the child. This isg sumed by the child to the kernel, and has great significance in both shell programming und sy tems number ret programming. 9.4 Types of commands ‘The Shell recognizes three types of commands: internal commands, external commands and shell scripts. (1) Internal commands: ‘Acommand built-into the shell is known as internal commands. The shell does not create a separate processiy un internal commands, These commands are loaded into main memory when user logged in to the Unix system. Examples of internal commands are ed, echo, pwd and so on. Internal commands don't generate a process ang are executed directly by the shell. Similarly, variable assignment with the statement x=5, for instance, doesnt ‘generate a process. ¥ Youcan check whethera command is internal or external using type command as follow: Sppeecho echo is shell built-in s ‘The message ‘echo is shell built-in’ denotes that a given command is shell built-in or internal command. (2) External commands. | 6 xgemal come Ins command then 1 nSed To Tosa vn as external commands Examples of nds require the shell to create a new process. When you jyemary for execution. The commands stored in /bin directory 1s kno nal commands are Is, eat, diste ete Oe Like externa ternal commands, you can use sume command to check whether a command 1s intemal oy, inpe cat direx tory, , shell sevipts The shell executes the seript by creating -shell, This sub-shell executes the commands listed in the script wndividually. Here, sub-shell becomes the parent of the commands and will be terminated as soon 8s seripyt catis biniat 5 The message ‘cat is /bin/car" indicates that a given command is extemal command and resides in “iy completes tts execution. "yg Details of current process: ps ps stands for process status. Its used to display status or details of processes. A ps command ts used to display attributes of process such as process ID (PID), the terminal from which a process was started, amount of tine thatthe process has used, name of process and so forth. The syntax of this commands Sta ps [option] itdisplays information about the processes. Y Ifyou give ps command out option, it display outputas follow: Sps PID TTY TIME cMD 5625 pts/t 00:00:00 bash 3728 pis/t 00:00:00 ps $s By default, it display four columns output. The first column shows PID of processes, second column shows name of terminal on which processes are executing, third column shows the cumulated CPU time and last column shows the executable name, it should be noted that ps also lists itself as a process and the other process called bash, which is your shell's program. ‘Some of the option used with ps command isas follow: ()-u user-name: Using this option a user can know the activity of other user. For example, a user bea! want to know the processes executing on user bea? terminal then the command is like this: Sps—ubea2 PID TTY TIME CMD 3754 7. 00:00:00 sshd 3755. pis/2 00.00:00 bash 3809 pts/2 00:00:00 ps $s ‘The output shows the processes executing on bea? terminal SS = (iij-a (all): It displays processes of all users running on their terminals except the pr ie © User % sssued a command. Itdo not display system processes on the out put. display all users’ processes Sps-a (Gi) -tterminat-id: Its used to know the status of processes running on a specific terminal. For exam le, the processes associated with prs// terminal then the command is like this # display processes executing on terminal pts/1 Sps-tpts'I Givy-4 long list): Itdisplays long hsting showing the memory related information. Sps-l FS UID PID PPIDCPRI NIADDR SZ WCHAN TTY TIME CMD OS 615 37553754075 0 - 1047 wait prs/2_ 00:00:00 bash 683 finish — pts/2 00:00:00sleep OT 615 3938 3755 076 0 - OR 615 39393755076 0 - Sol - pts/2 00:00:00 ps s “There are many columns in the output. The column F denotes the flag value, a PID stands for Process ID, PID stands for Parent Process ID (PPID), C denotes processor utilinty denotes the priority of process, NJ denotes the nice value of process (we will sec later on in this enn address, size of process, WCHAN denotes name of the kernel function in which the process is sleeping column S has one of the three values. R — running, S — waiting, T ~ stopped process. In column WCjj4. S denotes the status o indicates that process is running, (pf (fall listing) + 1k displays additional information about each running process. This information cay, obtained by using the option ~fas follow: & S psf UID PID PPID CSTIMETTY — TIME — CMD bharat 3979 3978. 015:05 pis/3_ 00:00:00 -bash bharat 4130 3979.015:40 pis/3 00:00:00 ps-f is In above output, ST/ME denotes the start time of a process and 7/ME denotes the amount of CPU times the processhas used. (vi)-e (every process): \Lis used to display processes running on all users terminal as well as the system process running ona server. Sps-e 9.6 Background Processing When you issue a command at prompt, you have to wait for another command until a command finisbes execution. It is just like MS-DOS. We know that Unix has multi-tasking capability that allows user to run me] than one command at a time. Multi-tasking capability feature increases the use of CPU utilization. Using ts feature, you can run command in foreground while other commands running in the background. This is known background processing When you enter.a command as a background command, the shell prompt appes immediately therefore you can enter @ new command, while the previous command is still running in | background ,acommand in background n run a command in background by just adding ampersand (1.¢, &) at the end of command before you / ut eae gees key. For example, to run a find command in the background that locates files having extension 1M ahen type the command as shown below: $ find /-name"*.sh"-print > all_file.shde 11] 3832 S j;rans find command as the background process, search files having extension sh and redirect output it into ulfilesh. The shell will assign job number and PID and display them on a screen. A number enclosed in “guare bracket indicates job number and another number outside the square bracket known as PID of process “hese numbers are useful for checking the status of the background process or for canceling it when a background process finishes, you see a message like the following: [1]* Done Jind. -name"* sh" -print >all_filesh ‘ach command separated by semicolons and add ampersand (&) at end of the command line. The general ‘yntax to place more than one command in background isas follow: Symtac. S(command!; command2)& When performing background processing the user has to be careful that the background process and foreground process do not interfere with cach other. For example, any output from the background process «could disturb the user in the middle of his foreground process. In this case, you can redirect the standard output ‘and standard error of background process intoa file. ou can also place more than one command into the background by enclosing the commands in parenthesis | | some of the limitation of background process is as follow: ¥ You always redirect the output of background process to a file otherwise output of background process is intermixed with the foreground process. ¥ Too many processes running in the background degrade the overall system performance ¥ As soon as you logout from the Unix system, all background processes are also abnormally terminated. Xo hangup : nohup Innormal circumstances, when you log out, all the background processes will get terminated. This is because, all processes are children or grandchildren or grand grand-children of your login shell, that is sh or basi in Linux. Therefore, when you log out, your login shell dies followed by the death of child processes invoked by tie shell Lut there exists a command called nohup that can be used to ensure that the background processes do not die ‘when you log out. Using this command, the background process will get executed even if you log out. If you have redirected the output of a background process into a file, then you can sce it when you logged-in next time. Y Ifyou have not specified any file to store output of background process, the nohup command wall store the output in the file named nohup.out and will be created in the current directory. For example, if you givea commands follow: Snohup find/-name"*.sh" -print & (1]3537 nohup append « pur to nokug s The shell retums the yob number and PID of process. Moreover, it displays message that ‘sen, the ouput to nohup.out", Us tessa nudicates that the output 1s redirected to the defayiy named nohup out ¥ Forexample type the following command: Snohup find -ncune"* sh"-prirt > all fi 13395 ch& Ir displays job number a extension shevenitwe fileai_file shwhen you ly J PID of process. The find command will searches files tay, outand reducet them inte a file all_file sh. You ean see the conten, edennexttine 9.6.3 Jeb control Tins feature allows you to manipulate jobs running in the foreground anal backy tas that userhas started but which requires no us ound. A job is a program, Input while was cunning. Ja simple way. Job ts defines, {command oF set of counmands entered By user on command prompt 3 ¥ Forexample, auser givea command at shell prompt as Follow Seatfl Ssortfljuniq—w Both these commands are an example of job. {Withyob control, you can stop and restart programs, and switch them between the foreground and backer, and vice versa. Unis is multitasking operating system that allows user to run multiple jobs at a time. Us, defines two typesof jobs: ¥ foreground jobs and ¥ background jabs Foreground jobs: When you start aob in the foreground. the standard input and output is exclusively allocated to that job un), finishes ts exceution. Therefore, a forezround job 1s defined as a job run under the active supervision oft, ner Iris started by the user and may interact with the user through standard input and output, While, running, no other jobs may be started To starta foreground job, we simply enter a command at command}. nd just press key. Background jobs: ‘Ajob runs without the direct supervision of user known as background job. A background jobs free a stands; spit and cutpu therefore user can use them for further task. Note that both foreground and backgrounds share standard input and output so any message from background job sent to the monitor will intermix x the message send from foreground job. ¥ Considera command thatis run in a background like this: Scatf*'sort& [1] 3898 5 Immediately, ashell displays a job number in square brackets ([]) and process ID number. Auuser can use built-in job control commands. These commands take either a PID or job name or numbers! argument. The job control commands are shown in table-(a.9). Table (8.9): Job control commands Command 1 eseriptiv W stars the spec achyround pecTied bac kyround job into Uhe for TW displays sarus int Malwon AOU CUFTENE FODS MW termmnates spectfied bac kground job (we tn section 9.9) W telly shell to want for all or a specific background process complete (see mn section 99) stop NW Mops suspends specified background job cu 1 Mops suspends current foreground argument) (do not take any Using these commands, a user can perform dilterent operations on forezround as welll as b some ofthem are listed bellow ¥ Moving background jobs to fore; ¥ Moving toreground jobs to background. ¥ Displaying informnation about jobs ¥ Terminating a background jobs ¥ Suspend background jobs ¥ Suspend foreground jobs. ground jobs, Moving background jobs (9 foreground; ‘Auser can use fg command to movea background job toa foreground. Th Syntax fig [PID of process or command name or job number] ‘Youcan use either PID of process or command name or job number as argument. ¥ Consider the following command that runs in the background. Sfind /-name“f*" —print>all_£& 2) 3899 s neral form of fg is as follow You can move it into foreground using one of the following commands fag 62 or fifind or —_fg3899 ¥ Without option fg command place default background job into foreground. Moving foreground jobs to background: Consicler a foreground process as follow: Ssleep 100 ...time goes by: Here, the prompt is disappeared for 100 second. If you want to move a foreground job into 9 background then you have to stop a foreground job first. You can stop/suspend a foreground job by pressing suspend key Ifyou press then it displays message like the following: [1] + stopped sleep 100 ee 0 followed by backround, mpl is appeared rove sleep process Into her Now, shell nple, 11 stopped a background job and return job either the PID of process or job number oF ni il lke this: bore sleep 1008 s The shell restarts the suspended job inthe background and displays amessage like'///sfeep 1006" which und: shows that stopped job number | isnow running tn the back Duplaying informauonaboutyobs shell 1s currently running, ¥p ‘The Jobs command 1s used to display status information about the jobs th; ve jobs, enter jobs command at the command hi gin the background as follow display information of al ¥ Assume that there are three jobs run Sfind. name “*.*” print > all_file & fy 30 Ssleep 1008 22] 3012 Ssleep 50& GB) 3013 s Ifyou give a commandat shell promptas follow: Sjobs [1] Running find.-name“*.*"=print> all_file & [2- Running sleep 100& [3]+ Done sleep 50 5 ‘The result shows that 3“ job is completed and rest of the jobs is running in the background. A user can use fg and bg command with either the job number or job name or a string as arguments, to bring background jobs in foreground and foreground jobs in background respectively. For example, you can bring 2" job in foreground by typing following command on shell prompt like this: Sig %e2 or Sf %sleep Now, the process is running in foreground and prompt is not displayed on a screen until the process is completed or terminated. Terminating a background jobs: ‘Auuser can terminate background jobs using kill command. We will discuss kill command in more detail in section 9.9 of this chapter. Suspend background jobs: You can use stop command to suspend or stop a background job. You can give job number, job name ora string as argument with stop command. ¥ Forexample, you can suspend/stop a background job having job number 2 then the commandis: Sstop %2 PJ] 3012 stopped ee eee Now, you can run Uns stopped job in either foreground or background using fg oF bg commang respectively nel jobs, superfans You ean also suspend/stop a running propram and bring it in foreground or background. If you run any jot, pund then prompt ts disappeared until shell finrshes foreground job So, to stop a foreground job, or | Messthekey andz together te, , Thekey all_file & [2]- Running sleep 100& [3]* Done sleep 50 s In above output, job 3 has a plus (+) and Job 2 has a minus (-) sign im the second column. These tokens are nothing but a currency flag. The plus sign after job number indicates that this job is the default job. The ininus sign after job number indicates that this job will become the default one if the first job was completed. ¥ Any suspended job automatically receives the default currency flag plus. If two jobs are suspended, then the most recently suspended job receives plusand the oldler job receives minus. ¥ If there are no suspended jobs, the plus is assigned to the most recently started job and the minus to the second mostrecent job. ¥ Youcan refer default job with job number or current flag preceded by a percentsign. For example, to bring default job in foreground then you can give any one of the following command: fe %% #bring defaultjob in to foreground or Se %+ or fee %job-number ofdefaultjob or fe #without argument itrefers default job ¥ similarly, youcan refernext default job as follow: fg %- or fg %job-number of next default job —_——— I EEA, UNIX & Shell Propramesigg Any Job has one of the three states: foreground. background, or stopped. When a job 1s running foreground then a user can stop it using , terminate it us These operations are depicted inthe fig successfully finished sassigned tas to comple 9.4) and fig-(9.b)) mes = irl+c> or let it ru 9.a). Ajob is completed (1.e Done in f {Fig (9.2) : operations on foreground job] Similarly, when a job is running in the background then user can stop it using stop command, terminate ‘using kill comand of let itrun to completion, These operations are depicted in the fig-(9.b), on [Fig (9.b) : operations on background job] The user ca restart stopped job by bring it to either the foreground using fg command or the buck, usingbg command or terminate it using kill command, These operations are depicted in the fig-(9.¢) 7! Job runs in foreground Stopped/ suspended Job runs in background Terminated IFig (9.c) : operations ca stopped/suspended job} Re “ pinuals To move foreground job to background or to move a background job to the foreground. the Job must first be stopped qsignals ar avo are running & Program in foreground and want to terminate it then it is done by pressing the interrupt key W/ec> An interrupt sends a signal to the active process with a specific request of termination. So that, signal ‘yn interrupt generated by the shell or other process in response to some error condition hemost important signals are shown in able-(b.). Table (b. ist of signals: a = Number | Name Signal oo os 1 SIGHUP | Hangup (Normally signal) _ 2 SIGINT Interrupt ( signal or DEL Key on some system) 3 SIGQUIT | Quitsignal (Normally signal) = 9 ~| SIGKILL | Sure kill ae a }15 | SIGTERM_| Software teminaion signal _ 24 SIGTSTP _ | Suspends process (Nomuall y signal) Table-(b.9) denotes that signal is represented by an integer and a character name, The names of signals are in uppercase and begin with SIG. SIGHUP signal is sent to the process where there ishang up. For example, terminal is tumed off, SIGINT signal is sent interrupt to the process when there is an interrupt from the terminal. For example, termmal interrupt associate with or cancel command. SIGQUIT signal is sent to the process when there is quit message from the terminal. It is associated with exit command. SIGKILL signal is sent to the process when it is necessary to kill the process. SIGTERM signal is sent to the process by the kill command. SIGTSTP signal is sent by user to suspend a background job. Itis associated with 9.8 Scheduling your jobs Unix provides a facility to schedule jobs as per the user's requirements. The Unix system allow user to run jobs automatically at specified times. A user can specify a particular date and time for the job(s) to execute. The scheduling is done by a program known as cron, stands for ehrenograph. This program allows user to perform some of the task repeated automatically without user or super user request as follow: reminder messages tousers ¥ file system administration Y time-consuming user-written shell seripts. Y Cleanup procedures etc. The cron program is an executable program resides in /etc directory that is activated once every minute. Every time it wakes up and checks any schedule job is available for it to execute at that minute. Ifany job is available forexecution, cron executes the job and goes back to sleep again, only to wake up in the next mmnute. This cycle continues till the Unix system is shut down. The eron is a daemon process that runs periodically without a user request and usually not associated with a specific terminal. cron, init, inetd (intemet daemon), pppd (point-to- point protocol daemon), Ipsched(control all printing activity) ete... are examples of daemon program. There are three commands that use scheduling capability of the cron program. These are at, batch and crontab, (1) at comman Its used fo execute a command at a specilied (future) time and date. The general form of this command 1s ag follow: Syntax: «at [option] job_name(s) or filename time format Itreads commands from standard input or a specified file which are to be executed at a later time. This command is useful for periodic backups or other related commands, Itallows complex time_format. They are listed in table-(c.9). Table-(c.9): Time format used with at command format Meaning HHMM [it runs a job ata specified time of day. Ifthat time isalready | past the next day is assumed. poets | Ie runs a job at 12:00 hour. qe midnight Teruns a job at 00:00 hour. weabme Trruns ajob at 4-00 pm. ‘ime month-name day | It runs a job ata specified time on a specified day of month tye] vith an optional year. ume MMDDYY or Ttruns a job at specified time on a specified date. ume MM/DD'YY or ume DD.MM.YY ‘now ~ count Ume-units | Itruns a job ata specified time. Here, the time-units can be minutes, hours, days or weeks. Teruns a job today at specified time. Trruns a job tomorrow at specified time. ‘ume tomorrow ‘Some of the exampi=s of at command are as { low: ¥ You cen give following command to snd amessage to user bea! at 3:30 pm. Scr 15:30 at echo-e "Urgent call'n at TMTBCA "write bca63 a> job 841 at 2014-03-25 15:30 s Wh you give time with at command and press key it display at prompt (i.e. at>) in the ext line. Type a command and then press key, it display job-number and schedule ume. Y You co have a time-of-day suffix with AM or PM for running in the morning or evening. For example, the abos > command is rewritten as follow: ‘Sar 3.30pm Job 841 at 2014-03-25 15-30 5 Youcan makeadupheate file/7 to//.at under user'shome directory at 4pm as follow. Sat teatime at> cp SHOME/1 SHOME/1.at at> job 846 at 2014-03-25 16:00 $ You can run a job today by suffixing the time with roday. For example, to run a job at g. 00 today then the command is: i Sat 9am today Similarly, you canruna job tomorrow by suffixing the tume with romorrow. For example, to ran job at 9:00 am tomorrow then the command is: : Sat 9am tomorrow Considera file 1 as follow: Seat fl echo "hello" jwall $ ‘Now, to runa job three days from now at 4 p.m. then you can give acommand like this: Sat4pm+3days sortfile corked job 85S at 2014-03-26 13:57 s It submits job in a queue and runs it immediately when system load is light. ‘Any job scheduled with bateh command also goes to at queue. Therefore, to display all the jobs submitted by bate will be display using at -1 and also be removed with the command at -r_job_number(in Linux atrm yob_number) G) crontab command: Once jobs submutted using at and batch commands have been executed and you want to carry out same job . Y evan ————————— ofr n then you have to revchedule tt The eron dacman exccutes © subenst this fie ty suse cron, you must first create a crontab file and then use the eromtab command to submat this fle ty y, : commands. ep spool-cranrontabs directory where eron looks to ex pegting acrontab file = use eron to run commands. you must first create file to det the procedures that you wan fun This fine je ts called the crontab file. Youcan give ttany namne that you want. Each line in the crontah f eon Bf gcodureand coaststs of fields The line entry format looks hike the following Minute Hour Day-of-month nth Day-of-Week Commang) lowing table-td 9) shows values allowed in first five fields: o ' Table-(d.9): crontab fields Field Allowed value = Minute Numbers betwcea O and $9 Tour Rumbas Rewwacn Oand 23 Day-ofmonth | Numbers bacon Tard ST a Mooi Numbers Bersgen 1 und 12 ; Day-of-week ] Numbers benwcen 0 and 6 (0 is Sunday) allowing rules apply tothe fist five fields The (ONT Two tumbets separated by a hyphen indicates a range of numbers between the to specified numbers, : ¥ Alist of numbers separated by commas indicates that you want to use only the nurubers listed V Anasterisk specifiesall legal values, tast field contains mame of the command tobe executed ‘The las! ¥ Consideracrontab file named mycron contains following lines Scat mycron 3016 all “Hello Students, It's time to shut down your PC" 20192 90,56 find home/bharav/dll -size 0-miime-5 -execrm{}\; 0° °** ep/home/bharavf1 shome/bhuratifoc sh #944 echo "hello bharat"\rite bharat #execute every minutes 013 114 * command! 459°*Spwd : ‘ tab file translates intothe times, dates and actions as shown in table-(e.9) this ero” ‘Table-(c.9): translation of mycron file Dajof-moath | Month | Day of weck Communal [an Cl a Cee z All| Sun, Fran Sata 1 Ar ar 170 UNIX & Shell Ps wnleg ‘The last line of table-(c.9) is interpreted as, pwd command should get executed at 9:45am on every day oy every month of Friday that means pwd should get executed at 9:45am on every Friday. Once you create your crontab file, you must submit the file to the /usr/spool/cron/crontabs directory whey J cron looks to execute commands. To do this, use the crontab command, The general syntax for erontay, |! looks like this: , Syntax ’ crontab [option] file It copies the specified file, or standard input into cronrabs directory that holds all the crontab files for yyy | | userson the system. 4 ¥ Forexample, to submit mycron file to the /usr/spool/cron/crontabs directory as follow. Scrontab mycron Now, whenever eron runs, itexecutes the commands written in your crontab file. ¥ You can use—Loption to list the contents of your current crontab file as follow: Scrontab-l 3016 °**wall "Hello Students, It's time to shut down your PC" 20192*0.5.6 find/home/bharat/dll -size O-mtime-5 -execrm {}\: 0%*** cp/home/bharat/fI /home/bharat/foc.sh *¢** echo hello bharat"\write bharat Hexecute every minutes 0131,14**command! 459° *5 pwd s ¥ You can edit crontab file using -¢ option as follow: Scrontab—e Itopens crontab file in vieditor. ¥ You can remove your crontab file from the crontabs directory using—r option as follow: Scrontab-r Itremovescrontab file. You can verify whether crontab file is present or not as follow: Scrontab— no crontab for bharat 5 Itdisplays messageas “no crontab for bharat that means crontab file is removed successfully, Following are the sample crontab entry (1030 * * * * echo“hello” Itdisplays'hello' every 30 minutes on the half-hour. (2)0 0 * * * echo"bye” tdisplays bye’ at midnight every day. (8)55.17* * 4 command! It runs'commandI" every Thursday at 17:55(or 5:55 pm). (4)30 0 10,20 * * command? It runs‘command2'0:30 hours on 10*and 20 day of every month, (5)00,30 09-17 * * 1-5 command3 Itruns'‘command3' on weekdays every half hour between 9 to 17 hours. Neri betie Seep eae os SSE TRS] ee... LLU

You might also like