06-05-2014
The answer to how that program work are in the URL you linked.
The called program overwrites it's arguments after making a copy of them. But as one of the other comments adds, there's still a brief period of time when the commands arguments are visible so it's not foolproof.
The only way to make sure information you want to remain private isn't exposed as a command argument is to either encrypt it first, or to have the calling and called program communicate the info some other way. You could use a file, shared memory, IPC, a pipe, etc...
These 2 Users Gave Thanks to cnamejj For This Post:
10 More Discussions You Might Find Interesting
1. Programming
Hi
How to pass multi line text as a command line argument to a program.
(i.e)
./a.out hi this is sample 0 file1
where
hi this is sample should be stored in argv
0 in argv and so on... (3 Replies)
Discussion started by: bankpro
3 Replies
2. UNIX for Dummies Questions & Answers
Hi all,
How many arguments can we pass while testing a prgm at command line..
I encountered an issue while passing 10 arguments.
For $10 its taking argument passed for $1 followed by 'zero'.
can we pass more than 9 arguments /Is there any other way.
Thanks,
rrs (6 Replies)
Discussion started by: rrs
6 Replies
3. Shell Programming and Scripting
Hi all
i want to list out all command line arguments except $1 i have passed to a script.
Ex: sh cmdline.sh one two three four five
o/p:
two three four five (3 Replies)
Discussion started by: naree
3 Replies
4. Shell Programming and Scripting
--------------------------------------------------------------------------------
I have this while loop and at the end I am trying to get it to tell me the last argument I entered. And with it like this all I get is the sentence with no value for $1. Now I tried moving done after the sentence... (1 Reply)
Discussion started by: skooly5
1 Replies
5. Shell Programming and Scripting
Hi,
When i am running the following script 1.sh (without giving the command line arguments) then i am getting the following error.
if
then
echo "UID and PWD are correct"
elif
then
echo "Either UID or PWD is wrong. Please check your UID and PWD"
else
echo "UID and PWD can't be blank"... (9 Replies)
Discussion started by: sunitachoudhury
9 Replies
6. UNIX for Dummies Questions & Answers
I am working on a script wherein i need the user to enter the Build ID
for eg:the command line will show
enter the build ID
Now on entering the build ID it should be assigned to @ARGV.
How can this be done.? (1 Reply)
Discussion started by: Varghese
1 Replies
7. Shell Programming and Scripting
Is there a way of hiding a process, or at the very least, process arguments?
I'm writing a hosting panel (PHP), and I need to be able to adduser and do other tasks in which I do not want the arguments shown on the termnial for other users of the system.
Thanks (0 Replies)
Discussion started by: jaymac407
0 Replies
8. UNIX for Dummies Questions & Answers
Hi, I'm having problems with a script where I wanted every single option specified in the command line to have an argument taken with it, but for some reason only d works in the code I will be showing below.
For example if I did ./thisfile -a something
it would come up with "a chosen with " as... (2 Replies)
Discussion started by: IceX
2 Replies
9. UNIX for Dummies Questions & Answers
hi, can someone how to accept command line arguments as a variable using in script?
like: ./scriptname arguments
by accept arguments, I can use it in my script?
thx! (1 Reply)
Discussion started by: ikeQ
1 Replies
10. Shell Programming and Scripting
hi,,,,
I want to create a command prompt, for example "prompt>", so my prompt need to handle commands, for example "prompt>cmd", so i want to know how to get arguments for my own commands cmd, i.e. default argc should contain arguments count and argv should point to the argument vector i.e, for... (2 Replies)
Discussion started by: vins_89
2 Replies
RRDp(3pm) User Contributed Perl Documentation RRDp(3pm)
NAME
RRDp - Attach RRDtool from within a perl script via a set of pipes;
SYNOPSIS
use RRDp
RRDp::start path to RRDtool executable
RRDp::cmd rrdtool commandline
$answer = RRD::read
$status = RRD::end
$RRDp::user, $RRDp::sys, $RRDp::real, $RRDp::error_mode, $RRDp::error
DESCRIPTION
With this module you can safely communicate with the RRDtool.
After every RRDp::cmd you have to issue an RRDp::read command to get RRDtools answer to your command. The answer is returned as a pointer,
in order to speed things up. If the last command did not return any data, RRDp::read will return an undefined variable.
If you import the PERFORMANCE variables into your namespace, you can access RRDtool's internal performance measurements.
use RRDp
Load the RRDp::pipe module.
RRDp::start path to RRDtool executable
start RRDtool. The argument must be the path to the RRDtool executable
RRDp::cmd rrdtool commandline
pass commands on to RRDtool. Check the RRDtool documentation for more info on the RRDtool commands.
Note: Due to design limitations, RRDp::cmd does not support the "graph -" command - use "graphv -" instead.
$answer = RRDp::read
read RRDtool's response to your command. Note that the $answer variable will only contain a pointer to the returned data. The
reason for this is, that RRDtool can potentially return quite excessive amounts of data and we don't want to copy this around in
memory. So when you want to access the contents of $answer you have to use $$answer which dereferences the variable.
$status = RRDp::end
terminates RRDtool and returns RRDtool's status ...
$RRDp::user, $RRDp::sys, $RRDp::real
these variables will contain totals of the user time, system time and real time as seen by RRDtool. User time is the time RRDtool
is running, System time is the time spend in system calls and real time is the total time RRDtool has been running.
The difference between user + system and real is the time spent waiting for things like the hard disk and new input from the Perl
script.
$RRDp::error_mode and $RRDp::error
If you set the variable $RRDp::error_mode to the value 'catch' before you run RRDp::read a potential ERROR message will not cause
the program to abort but will be returned in this variable. If no error occurs the variable will be empty.
$RRDp::error_mode = 'catch';
RRDp::cmd qw(info file.rrd);
print $RRDp::error if $RRDp::error;
EXAMPLE
use RRDp;
RRDp::start "/usr/local/bin/rrdtool";
RRDp::cmd qw(create demo.rrd --step 100
DS:in:GAUGE:100:U:U
RRA:AVERAGE:0.5:1:10);
$answer = RRDp::read;
print $$answer;
($usertime,$systemtime,$realtime) = ($RRDp::user,$RRDp::sys,$RRDp::real);
SEE ALSO
For more information on how to use RRDtool, check the manpages.
AUTHOR
Tobias Oetiker <tobi@oetiker.ch>
perl v5.14.2 2012-01-24 RRDp(3pm)