Starting a pipeline in the background creates a new shell execution environment. Variables set in that new shell execution environment are not visible in the parent (foreground) shell execution environment.
There are several ways things like this can be done. One way that works if the values you want to produce in the background are always less than or equal to 255, is:
which produces the output:
but the order of the two lines in red may vary from run to run (and may be intermixed on a multi-processor system).
This User Gave Thanks to Don Cragun For This Post:
The way I've been using arrays currently have been:
#!/bin/ksh
set -A myArray
myArray=value1
myArray=value2
myArray=value3
myArray=value4
Is there a way I can assign values to an array that will automatically place the value into the next element in the array like:
myArray=value1... (4 Replies)
I have to add a variable value to an array, something like this:
......
@my_array_name = $value_of_this_variable;
This doesnt seem to work, any ideas why?
Thanks! (4 Replies)
hi every body,
i donot know how to assign a array varible with a file
see i having file
more file
property1 Name
property2 Address
the above two line are tab Space seperated between the property and its value
i want to seperate it and assign to... (1 Reply)
I need to do something like this:
for i in 1 2 3 4 5; do
arr=$(awk 'NR="$i" { print $2 }' file_with_5_records)
done
That is, parse a file and assign values to an array in an ascending order relative to the number of record in the file that is being processed on each loop.
Is my... (2 Replies)
Please excuse my ineptitude for a bit as I've been spoiled for the past few months with only writing perl code instead of C.
So ok, I've been thinking about some code to change the crc32 values that are held within central directory headers of zip files.
Because I'm lazy I decided to just... (3 Replies)
hello there,
there's a function, in my shell script, i'd like to run in the background.
here's an example:
log()
{
local SELF=${0##*/}
tty -s && echo ": $*"
}
some_func()
{
# do something
log "This text is not displayed in the terminal's output when running in the... (1 Reply)
set -A matched #find referenced files.
for i in ${file_names_html}
do
counter_j=0
for j in ${file_names_minus_index}
do
match=`cat $i | grep... (1 Reply)
Hi,
I am using ksh , i have requirement to run 4 functions in background , 4 functions call are available in a case that case is also in function, i need to execute 1st function it should run in background and return to case and next i will call 2nd function it should run in background and... (8 Replies)
I want to extract each and single character from a password string and put it in an array.
I tried this :
set -A password "echo $passwd | awk '{for (i=1; i<=length($1); i++) printf "%s ",substr($1,i,1)}'`
It's working as long that the password string doesn't contains any *
I tried a few... (5 Replies)
Hi,
I have the following code that makes use of a URL that I store in a variable then create a document object below to work on it.
$dom = new DOMDocument;
@$dom->loadHTML($html);
$links = $dom->getElementsByTagName('a');
$links = $dom->getElementsByTagName('a');
... (0 Replies)
Discussion started by: mojoman
0 Replies
LEARN ABOUT LINUX
newtask
newtask(1) User Commands newtask(1)NAME
newtask - create new task and optionally change project
SYNOPSIS
newtask [-p project] [-v] [-c pid | [-Fl] [command...]]
DESCRIPTION
The newtask command executes the user's default shell or a specified command, placing the executed command in a new task owned by the spec-
ified project. The user's default shell is the one specified in the passwd database, and is determined using getpwnam().
Alternatively, newtask can be used to cause an already running process to enter a newly created task. A project for the new task can also
be specified in this form of the command. This might be desirable for processes that are mission critical and cannot be restarted in order
to put them into a new project.
In the case that extended accounting is active, the newtask command can additionally cause the creation of a task accounting record marking
the completion of the preceding system task.
OPTIONS
The following options are supported:
-c pid Cause a running process to enter a newly created task. A project for the new task can also be specified using the -p option. The
invoking user must either own the process or have super-user privileges.
If the project is being changed, the process owner must be a member of the specified project, or the invoking user must have
super-user privileges. When the project is changed for a running process, its pool binding as well as resource controls are modi-
fied to match the configuration of the new project. Controls not explicitly specified in the project entry is preserved.
This option is incompatible with the -F and -l options.
-F Creates a finalized task, within which further newtask or settaskid(2) invocations would fail. Finalized tasks can be useful at
some sites for simplifying the attribution of resource consumption.
-l Changes the environment to what would be expected if the user actually logged in again as a member of the new project.
-p Changes the project ID of the new task to that associated with the given project name. The invoking user must be a valid member of
the requested project, or must have super-user privileges, for the command to succeed. If no project name is specified, the new
task is started in the invoking user's current project.
-v Verbose: displays the system task id as the new system task is begun.
OPERANDS
The following operands are supported:
project The project to which resource usage by the created task should be charged. The requested project must be defined in the
project databases defined in nsswitch.conf(4).
command The command to be executed as the new task. If no command is given, the user's login shell is invoked. (If the login shell
is not available, /bin/sh is invoked.)
EXAMPLES
Example 1: Creating a New Shell
The following example creates a new shell in the canada project, displaying the task id:
example$ id -p
uid=565(gh) gid=10(staff) projid=10(default)
example$ newtask -v -p canada
38
example$ id -p
uid=565(gh) gid=10(staff) projid=82(canada)
Example 2: Running the date Command
The following example runs the date command in the russia project:
example$ newtask -p russia date
Tue Aug 31 11:12:10 PDT 1999
Example 3: Changing the Project of an Existing Process
The following example changes the project of the existing process with a pid of 9999 to russia:
example$ newtask -c 9999 -p russia
EXIT STATUS
The following exit values are returned:
0 Successful execution.
1 A fatal error occurred during execution.
2 Invalid command line options were specified.
FILES
/etc/project Local database containing valid project definitions for this machine.
/proc/pid/* Process information and control files.
ATTRIBUTES
See attributes(5) for a description of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO proc(1), id(1M), poolbind(1M), execvp(2), setrctl(2), settaskid(2), setproject(3PROJECT), nsswitch.conf(4), proc(4), project(4),
attributes(5)SunOS 5.10 17 Nov 2004 newtask(1)