The * tried to execute everything in the current directory probably /home/careless_user.
chmod -R 000 /home/careless_user will stop new process creation.
chmod 000 /usr/bin/ksh or renaming it will just cause a lot of other scripts to bomb
Since the * tries to execute every file in the directory, the processes that were halfway done with trying to run stuff will be short-circuited. No new processes can start any children. A few seconds after you chmod 000 everything, you are in a position to try to kill the remaining processes, since they cannot create children.
400 pids will not exceed ARG_MAX, so this should work without error.
Things are also interesting when a user creates a file named * - rsync and backup scripts just love it.
Hi!
IN THE FOLLOWING PROGRAM THE VALUE OF j REMAINS UNCHANGED . WHY ? IF I WANT A VARIABLE VALUE TO CHANGE LIKE THIS , IS THERE ANY WAY TO DO IT ?
Or do we have to use shared memory variables?
main()
{
int return_pid, i, total;
int j=1;
total = TOTALRECS+1;
for... (2 Replies)
I need a help...
I have a HP Netserver LH 6000 U with Hardware Raid .
Sco 5.0.5 installed with Oracle database.
Total number of users, normally logged in are around 60 nos.
The system is very slow ( takes 6 hours for processing one Lakh bills) during the Billing process. Also it is... (1 Reply)
I have a code which has four different process, each printing different message. I have provided it with user input (implemented using thread), depending on which the corresponding message from that process has to be printed.The code is shown below.when I run the pgm, it takes input such as... (1 Reply)
Hi,
Currently, I'm getting the foll error on an IBM AIX
/etc/profile: 0403-030 The fork function failed. Too many processes already exist.
How can i check the current no. of processes which can run simultaneously on an IBM AIX machine for oracle user and how can i change ?
Thanks
Vin (1 Reply)
hi all,
We are trying to run a process in the background and in the process we call fork ;and wait for the child process to finish .We find that the died = wait(&status); happens after 10 seconds randomly and sometimes completes in time (within 1 sec)
This behavior is seen only when the... (0 Replies)
hi all,
We are trying to run a process in the background and in the process we call fork ;and wait for the child process to finish .We find that the died = wait(&status); happens after 10 seconds randomly and sometimes completes in time (within 1 sec)
This behavior is seen only when the... (1 Reply)
Assume you have such a piece of (more or less pseudo-)code:
if(fork() == 0) {// childprocess
chmod(someProgram, 00777);
exec(someProgram);
} else { // assume it never fails and this is the parent
chmod(someProgram, 00000); // should be executed as soon as possible after the... (5 Replies)
Making a C program (process PP) that satisfies the following requirements:
1. Pp receives 3 ≤ N ≤ 10 arguments on the command line invocation, to interpret
as a whole and thus should be 1 ≤ Ni ≤ 4;
2. Pp initially will have to create N processes Pi children facing a range of life
to
... (1 Reply)
Hello All, I am stuck up in a program where the rand functions ends up giving all the same integers. Tried sleep, but the numbers turned out to be same... Can anyone help me out how to fix this issue ? I have called the srand once in the program, but I feel like when I call fork the child process... (5 Replies)
Hello everyone, this is my first post.
I have a task to use a fork to create multiple processes and then use execlp to run another program to add 2 numbers.
The problem I am having is we are supposed to use the exit() call in the execlp to return the small integer. This is a bad way to... (3 Replies)
Discussion started by: Johnathan_1017
3 Replies
LEARN ABOUT DEBIAN
pperl
PPERL(1p) User Contributed Perl Documentation PPERL(1p)NAME
PPerl - Make perl scripts persistent in memory
SYNOPSIS
$ pperl foo.pl
DESCRIPTION
This program turns ordinary perl scripts into long running daemons, making subsequent executions extremely fast. It forks several processes
for each script, allowing many processes to call the script at once.
It works a lot like SpeedyCGI, but is written a little differently. I didn't use the SpeedyCGI codebase, because I couldn't get it to
compile, and needed something ASAP.
The easiest way to use this is to change your shebang line from:
#!/usr/bin/perl -w
To use pperl instead:
#!/usr/bin/pperl -w
WARNINGS
Like other persistent environments, this one has problems with things like BEGIN blocks, global variables, etc. So beware, and try checking
the mod_perl guide at http://perl.apache.org/guide/ for lots of information that applies to many persistent perl environments.
Parameters
$ pperl <perl params> -- <pperl params> scriptname <script params>
The perl params are sent to the perl binary the first time it is started up. See perlrun for details.
The pperl params control how pperl works. Try -h for an overview.
The script params are passed to the script on every invocation. The script also gets any current environment variables, the current working
directory, and everything on STDIN.
Killing
In order to kill a currently running PPerl process, use:
pperl -- -k <scriptname>
You need to make sure the path to the script is the same as when it was invoked.
Alternatively look for a .pid file for the script in your tmp directory, and kill (with SIGINT) the process with that PID.
ENVIRONMENT
pperl uses the PPERL_TMP_PATH environment variable to determine the directory where to store the files used for inter-process
communication. By default, the subdirectory .pperl of the user's home directory is used.
BUGS
The process does not reload when the script or modules change.
$^S is not represented identically with respect to perl, since your script will be run within an eval block
AUTHOR
Matt Sergeant, matt@sergeant.org. Copyright 2001 MessageLabs Ltd.
SEE ALSO
perl. perlrun.
perl v5.14.2 2011-11-15 PPERL(1p)