This is a little more complicated than a post can deal with very well.
Let's use the Korn shell -- /bin/ksh as an example.
When you have in your script:
Code:
echo "hi there"
The "echo" is a command. Most commands invoke external programs. When a command runs as a program it creates a separate process - "spawn".
Not all commands are separate processes. The type command in ksh will tell you what the command is - whehter it is a shell builtin, an external program, etc.
Code:
vcspnm:/home/jmcnama> type echo
echo is a shell builtin
vcspnm:/home/jmcnama> type ls
ls is a tracked alias for /usr/bin/ls
vcspnm:/home/jmcnama> type while
while is a keyword
vcspnm:/home/jmcnama> type lp
lp is /usr/bin/lp
So: lp and ls are programs, while and echo are part of the shell.
If type tells you it is a builtin then no separate process is created. Same for a keyword like while or if.
The flip side of this is that you can force the shell to make a separate process:
Code:
echo "stuff " > somefile &
wait
This forces command to run in a separate process, even if it would normally not do so.
Hi. I am very new to the unix world, although not to computers in general (i'm a DBA). We have some procedure here for backup files from the filesystem to tape, on which they chose cpio to back it up. What they do is similar to this:
ls /dirname/ | cpio -ov -O/dev/ntape/tape0
But since files... (2 Replies)
Hi all,
I am having a hard time in determining this. I have a shell script, in which I build a variable in a certain format (-i 'x x.in x.out' -i 'y y.in y.out' -i 'z z.in z.out) within a while loop. But that variable is getting lost if I read it after the while loop is ended. I tried "export"..,... (3 Replies)
Can some one help me to know how I can restrict tar to span on multiple volumes if it get bigger then 2 gig. I am working on AIX 5.2 and created a tar of 4 gig but I want to move the tar to 4.3 that has limit of 2 gig.
Thanks. (0 Replies)
Hi,
Ive 3 screens, 2 nvidia graphiccards and all works fine with the nvidia binary driver and xinerama. I can maximize all windows an one screen, but now i need to span it over all 3 screens.
Any ideas?
thanks in advance. (3 Replies)
Hi All,
I am running the following accounting on one of my executable,
$ accton /home/myexe-acct
$ ./myexe
$ accton
When I check the process timings I get the below result,
Shell process time: 300ms
myexe time: 100ms
I want to know on why the shell(sh) process is taking so much time... (1 Reply)
Hi Experts, we do have a shell script for Unix Solaris, which will kill all the process manullay, it used to work in my previous env, but now it is throwing this error.. could some one please help me to resolve it
This is how we execute the script (and this is the requirement) ... (2 Replies)
Hi All
I was wondering how the copying of vast amounts of data affected the overall lifespan of an HDD.
In my example, I'm copying approx 120GB (250,000) of files, once per hour from disk to another.
Is this likely to have a detrimental effect on the disk in terms of reads/writes etc?
... (2 Replies)
Hi all,
I need your help to explain how I can extract a time span from the syslog messages file on a Solaris 10 system.
Here is an example extract of the syslog messages:
Dec 4 11:51:38 hajap141-0107.nls.jlrint.com 267938: Dec 4 11:51:36: %DOT11-6-DISASSOC: Interface Dot11Radio0,... (4 Replies)
Hi Everyone !
i want to take all the lines from a file that falls in between some date... and every line in a file has a time stamp..
---some text---- 01/Jan/2010 ---- some other text ----
---some text---- 10/Jan/2010 ---- some other text ----
---some text---- 20/Dec/2010 ---- some... (3 Replies)
Hi All,
I am having a log file
ERROR 2016-12-08 10:22:23.542 some data
**** some data******
**** some data******
**** some data******
DEBUG 2016-12-08 10:23:23.542 some data
**** some data******
**** some data******
**** some data******
when i grep the log file with ERROR am getting... (3 Replies)
Discussion started by: mohanalakshmi
3 Replies
LEARN ABOUT REDHAT
smrsh
SMRSH(8) System Manager's Manual SMRSH(8)NAME
smrsh - restricted shell for sendmail
SYNOPSIS
smrsh -c command
DESCRIPTION
The smrsh program is intended as a replacement for sh for use in the ``prog'' mailer in sendmail(8) configuration files. It sharply limits
the commands that can be run using the ``|program'' syntax of sendmail in order to improve the over all security of your system. Briefly,
even if a ``bad guy'' can get sendmail to run a program without going through an alias or forward file, smrsh limits the set of programs
that he or she can execute.
Briefly, smrsh limits programs to be in a single directory, by default /etc/smrsh, allowing the system administrator to choose the set of
acceptable commands, and to the shell builtin commands ``exec'', ``exit'', and ``echo''. It also rejects any commands with the characters
``', `<', `>', `;', `$', `(', `)', `
' (carriage return), or `
' (newline) on the command line to prevent ``end run'' attacks. It allows
``||'' and ``&&'' to enable commands like: ``"|exec /usr/local/bin/procmail -f- /etc/procmailrcs/user || exit 75"''
Initial pathnames on programs are stripped, so forwarding to ``/usr/ucb/vacation'', ``/usr/bin/vacation'', ``/home/server/mydir/bin/vaca-
tion'', and ``vacation'' all actually forward to ``/etc/smrsh/vacation''.
System administrators should be conservative about populating the /etc/smrsh directory. Reasonable additions are vacation(1), procmail(1),
and the like. No matter how brow-beaten you may be, never include any shell or shell-like program (such as perl(1)) in the /etc/smrsh
directory. Note that this does not restrict the use of shell or perl scripts in the sm.bin directory (using the ``#!'' syntax); it simply
disallows execution of arbitrary programs.
FILES
/etc/smrsh - directory for restricted programs
SEE ALSO sendmail(8)
$Date: 2002/04/25 13:33:40 $ SMRSH(8)