01-09-2012
I don't think the number of processes would limit it. system() waits for the process it creates to complete, and nothing inside that script ought to be leaving anything behind.
That doesn't mean fork isn't failing -- I just can't imagine why it would be.
Unless you actually want it to buffer, everything you print with printf() should end with \n, not begin with it, since an \n on the end will cause it to print immediately and not buffer.
You might try perror("error code was "); before you print the exit status, to see if errno contains anything illuminating after system() fails.
---------- Post updated at 10:58 AM ---------- Previous update was at 10:54 AM ----------
A process dying with code 127 usually means it was killed by a signal of some sort. Something from the outside may be killing them, or they may be exceeding some sort of resource limit and being killed.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I have the following shell script to map a drive to a windows machine:
echo Enter password:
stty -echo
read passwd
stty echo
mount -t smbfs -ousername=myusername,password=$passwd //192.168.2.5/sharename /mnt/mountname
It works fine and the share mounts, but for some reason I get this... (4 Replies)
Discussion started by: Spetnik
4 Replies
2. BSD
Hello,
I have a small inquiry.
Sometimes, my good friend, Charlie Root, sends me security notifications that a possible breakin attempt has occured. It looks like this:
Oct 29 06:58:17 cigva sshd: reverse mapping checking getaddrinfo for 180.144.164.220.broad.sm.yn.dynamic.163data.com.cn ... (2 Replies)
Discussion started by: brightstorm
2 Replies
3. Shell Programming and Scripting
Hello everybody,
I have a requirement in my script..
When i'am executing a script, it'll ask a passwd of some service account.. I need to pass it to the script through a zipped file when it asks for it.
The script can be executed by more people many number times. So for securty purpose, it... (1 Reply)
Discussion started by: raghu.iv85
1 Replies
4. Shell Programming and Scripting
Hi Guys,
Even though, i have called db2 sql file earlier, this is my first time to call a oracle sql file.
I need to make a database(oracle) connection and then call the sql file in a loop.
Can you please help me out.
Thanks for your help and time.
Regards,
Magesh (4 Replies)
Discussion started by: mac4rfree
4 Replies
5. Programming
Hi gurus can you explain following lines of code ?
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
int main(void)
{
pid_t pid;
int rv;
switch(pid = fork()) {
case -1:
... (7 Replies)
Discussion started by: wakatana
7 Replies
6. UNIX Desktop Questions & Answers
hey,
how do i create a for loop that runs for i from 001 to 500 ?
i need that the zero prefix will remain so when i print "i" it will
look like so:
001
002
.
.
008
009
.
.
058
059
.
.
500
please advise. (2 Replies)
Discussion started by: boaz733
2 Replies
7. UNIX for Dummies Questions & Answers
We have a program source C and is required to indicate how many times each function is called from the C program. also print the line number where there is a call.
I've tried something like this:
#!/bin/sh
for i in $*;do
if !
then
echo $i is not a C file.
else echo $i... (0 Replies)
Discussion started by: oana06
0 Replies
8. Shell Programming and Scripting
Hi,
I want to read file multiple times. Right now i am using while loop but that is not working.
ex.
While read line
do
while read line2
do
echo stmt1
#processing some data based on data.,
done < file2.txt
done < file1.txt # This will have 10... (4 Replies)
Discussion started by: tmalik79
4 Replies
9. Shell Programming and Scripting
I've created a tag in the makefile:
mytag: $(shell ${PWD}/script.sh)
When i do: make clean - the script is executed
When i perform make or make mytag the script is again executed with the output:
make: Nothing to be done for mytag
What i want ?
I want script.sh to be executed only... (0 Replies)
Discussion started by: Pufo
0 Replies
10. Shell Programming and Scripting
Hello,
I have this awk code in a bash script to perform a find and replace task. This finds one unique line in a file and substitutes the found line with a replacement.
#! /bin/bash
# value determined elsewhere
total_outputs_p1=100
# file being modified... (5 Replies)
Discussion started by: LMHmedchem
5 Replies
LEARN ABOUT MINIX
killall
KILLALL(1) User Commands KILLALL(1)
NAME
killall - kill processes by name
SYNOPSIS
killall [-Z, --context pattern] [-e, --exact] [-g, --process-group] [-i, --interactive] [-n, --ns PID] [-o, --older-than TIME]
[-q, --quiet] [-r, --regexp] [-s, --signal SIGNAL, -SIGNAL] [-u, --user user] [-v, --verbose] [-w, --wait] [-y, --younger-than TIME]
[-I, --ignore-case] [-V, --version] [--] name ...
killall -l
killall -V, --version
DESCRIPTION
killall sends a signal to all processes running any of the specified commands. If no signal name is specified, SIGTERM is sent.
Signals can be specified either by name (e.g. -HUP or -SIGHUP) or by number (e.g. -1) or by option -s.
If the command name is not regular expression (option -r) and contains a slash (/), processes executing that particular file will be
selected for killing, independent of their name.
killall returns a zero return code if at least one process has been killed for each listed command, or no commands were listed and at least
one process matched the -u and -Z search criteria. killall returns non-zero otherwise.
A killall process never kills itself (but may kill other killall processes).
OPTIONS
-e, --exact
Require an exact match for very long names. If a command name is longer than 15 characters, the full name may be unavailable (i.e.
it is swapped out). In this case, killall will kill everything that matches within the first 15 characters. With -e, such entries
are skipped. killall prints a message for each skipped entry if -v is specified in addition to -e,
-I, --ignore-case
Do case insensitive process name match.
-g, --process-group
Kill the process group to which the process belongs. The kill signal is only sent once per group, even if multiple processes
belonging to the same process group were found.
-i, --interactive
Interactively ask for confirmation before killing.
-l, --list
List all known signal names.
-n, --ns
Match against the PID namespace of the given PID. Use 0 to match against all namespaces. The default is to match against the current
PID namespace.
-o, --older-than
Match only processes that are older (started before) the time specified. The time is specified as a float then a unit. The units
are s,m,h,d,w,M,y for seconds, minutes, hours, days, weeks, Months and years respectively.
-q, --quiet
Do not complain if no processes were killed.
-r, --regexp
Interpret process name pattern as a POSIX extended regular expression, per regex(3).
-s, --signal, -SIGNAL
Send this signal instead of SIGTERM.
-u, --user
Kill only processes the specified user owns. Command names are optional.
-v, --verbose
Report if the signal was successfully sent.
-V, --version
Display version information.
-w, --wait
Wait for all killed processes to die. killall checks once per second if any of the killed processes still exist and only returns if
none are left. Note that killall may wait forever if the signal was ignored, had no effect, or if the process stays in zombie
state.
-y, --younger-than
Match only processes that are younger (started after) the time specified. The time is specified as a float then a unit. The units
are s,m,h,d,w,M,y for seconds, minutes, hours, days, weeks, Months and years respectively.
-Z, --context
(SELinux Only) Specify security context: kill only processes having security context that match with given extended regular expres-
sion pattern. Must precede other arguments on the command line. Command names are optional.
FILES
/proc location of the proc file system
KNOWN BUGS
Killing by file only works for executables that are kept open during execution, i.e. impure executables can't be killed this way.
Be warned that typing killall name may not have the desired effect on non-Linux systems, especially when done by a privileged user.
killall -w doesn't detect if a process disappears and is replaced by a new process with the same PID between scans.
If processes change their name, killall may not be able to match them correctly.
killall has a limit of names that can be specified on the command line. This figure is the size of an unsigned long multiplied by 8. For
most 32 bit systems the limit is 32 and similarly for a 64 bit system the limit is usually 64.
SEE ALSO
kill(1), fuser(1), pgrep(1), pidof(1), pkill(1), ps(1), kill(2), regex(3).
psmisc 2017-06-12 KILLALL(1)