Sponsored Content
Full Discussion: Return Codes...
Top Forums UNIX for Dummies Questions & Answers Return Codes... Post 302867345 by bakunin on Thursday 24th of October 2013 04:26:20 AM
Old 10-24-2013
Quote:
Originally Posted by wisecracker
This was just an idea...

I wasn't actually asking anything. I was experimenting with generating an error code
system of my own with values outside of an 8 bit range.
I used the real 255 exit code as 'number out of range' flag and then generate a string
whilst exit is in process. This string was originally a number, but I decided to make it
a string instead, purely for fun.
I am not sure if this will work in any way: return codes are not coming out of thin air, but the result of a system call, as jim mcNamara has explained. It can't give you back more than it ought to. It is defined as an unsigned 8-bit integer, so it can't deliver a 16- (or 32-, 64-, ...) bit number, a string or whatever. This would mean that this value has to be put on the stack and then pulled off it by the wait() or waitpid()-function. As the function would not know that it is expected to get that off the stack it won't do it and the stack would be (and stay) subsequently corrupted.

If you want to have extended exit-messages of any sort - strings, numbers, whatever - you will have to use the classical means of conveying such messages: interprocess communication (aka semaphores, shared memory segments, ... - take your pick) or process-to-process I/O, like file descriptors and/or named pipes. Write to <stdout>, <stderr>, etc. and intercept this with pipes, I/O-redirection and the like.

Another option is to write to a log file of some sort and have that parsed from the calling process.

Quote:
Originally Posted by wisecracker
Perhaps I shouldn't have posted it...
There is no harm done in discussing anything and i am convinced this board won't go down from 1k characters of non-conclusive discussion. Still, i think you should post such topics (and the likes - you seem to enjoy exploring the limits of the OS in general and the shell in specific) not in the beginner forum. This is clearly not the stuff someone who learned the shell yesterday asks first. Please consider moving to the experts forum for topics like this.

I hope this helps.

bakunin
This User Gave Thanks to bakunin For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Help with Return codes

I have the below script I am running on a Solaris system to check the status of a Tivoli Workload Scheduler job and return the status. We need this script to return a '0' if any of the jobs in the stream are in a "EXEC" state and an "1" if in a "HOLD" state. I am not a programmer so I am not sure... (1 Reply)
Discussion started by: leezer1204
1 Replies

2. UNIX for Dummies Questions & Answers

unix return codes

Suppose I have a script which is monitoring a directory whenever a file drops in that directory,it sends alert say I want to write a return code for the above script which on successful execution of script gives a return value Based on return code , I want to do initiate some jobs in other... (1 Reply)
Discussion started by: abhib45
1 Replies

3. UNIX for Dummies Questions & Answers

Return codes

Hi, Can anyone tell me if there are return codes for SFTP? If so how would you capture them? I've tried 'man sftp' but its not particularly helpful. Many thanks Helen :confused: (4 Replies)
Discussion started by: Bab00shka
4 Replies

4. UNIX for Advanced & Expert Users

Return Codes

I have a simple script which renames a file.How do i capture the return code of the script if the script fails (3 Replies)
Discussion started by: kris01752
3 Replies

5. HP-UX

Return codes of RDIST

Can any body please tell me the return codes of RDIST tool? I am using RDIST (through an UNIX script) to synchronize files between two servers say ukblx151(source) & ukapx050(target). RDIST raises an alert mail (through notify option) in case of success & also failure but there is a problem if... (0 Replies)
Discussion started by: vishal_ranjan
0 Replies

6. Shell Programming and Scripting

help with return codes

Hi In an unix script I am using an Perl one liner perl -i -ne '-----' If the perl one liner fails i am not able to catch the return code. It always give 0 as return code. Can you tell me how can i catch the return code perl -i -ne '---' RETCODE=$? echo $RETCODE Thanks and Regards Ammu (2 Replies)
Discussion started by: ammu
2 Replies

7. UNIX for Dummies Questions & Answers

Displaying Return Codes

This is a high-level explanation, if more details are needed, please do not hesitate to ask. I have a set of .ctl files which I want to execute: AV1.ctl AV2.ctl AV3.ctl I have a script which has a for loop in it: for filename in AV1 AV2 AV3 do . execute_another_script.sh done ... (2 Replies)
Discussion started by: hern14
2 Replies

8. Shell Programming and Scripting

sftp return codes

sftp -v b $putlist $SFTP_ID@TARGET_SERVER How can I get a return code if fails to put the file? sftp -v b $getlist $SFTP_ID@TARGET_SERVER How can I get a return code if fails to put the file? (1 Reply)
Discussion started by: TimHortons
1 Replies

9. Shell Programming and Scripting

Different Return Codes

Hi, I wanted to know the significance of different return codes when we do echo $? I know when $? returns 0 the command has worked successfully. but what does $? = 1, 2, 3 etc. signify. Thanks in advance for the help !!! (3 Replies)
Discussion started by: aarti.popi
3 Replies

10. UNIX and Linux Applications

Oracle return codes?

Having searched high and low through Oracles documentation, I came to think that they're very scripting-averse, as there's (apparently) no list of possible return/exit codes for their various command line utilities. Is anyone here in possession of such a list, or knows where to find one? It... (16 Replies)
Discussion started by: pludi
16 Replies
maxssiz(5)							File Formats Manual							maxssiz(5)

NAME
maxssiz, maxssiz_64bit - maximum size (in bytes) of the stack for any user process VALUES
Default Allowed values DESCRIPTION
User programs on HP-UX systems are composed of five discrete segments of virtual memory: text (or code), data, stack, shared, and I/O. Each segment occupies an architecturally defined range of the virtual address space which sets the upper limit to their size. However, text, data, and stack segments may have a smaller maximum enforced via the and tunables. and define the maximum size of the stack segment for 32-bit and 64-bit processes. The stack segment contains the actual program stack and the storage space for registers on a process or thread context switch. Who is Expected to Change This Tunable? Anyone. Restrictions on Changing Changes to this tunable take effect only for processes started after the modification. In addition, a process which modifies its for the stack segment propagates the modified limit to all child processes, thereby exempting them from any future modification of The value speci- fied is expected to be a multiple of the base page size. See the description of getconf(1) for more details. If the value specified is not a multiple of the base page size, it will be rounded down to the nearest multiple of the base page size. When Should the Value of This Tunable Be Raised? should be raised if user processes are generating the console error message: Processes generating this error message will likely terminate with the segmentation violation error and dump core. What Are the Side Effects of Raising the Value? Raising this tunable by definition allows larger stack segments for every process. This means that and function as limitations on the amount of swap space that can be reserved or used by each process. Therefore, using more virtual address space does not translate directly to using more physical address space because virtual pages can be swapped out. If swap space on the machine is near capacity, raising this tunable increases the amount of reservable swap per process. This could exhaust the swap space on the system by allowing a process with a memory leak or a malicious program that uses huge amounts of memory to reserve too much swap space. It is also important to realize that for 32 bit user processes, data and stack are located contiguously. Raising the amount of virtual address space reserved for the stack segment implies lowering the amount of virtual address space for the data segment. In other words, raising may cause user processes which use all (or nearly all) of the previously available data area to fail allocation with the error even with set above the current amount of memory allocated for data by this process. On will cause an increase in the kernel data structures used to represent the larger stack space. This may use enough additional swap space that the user may see performance degradation or application failure due to lack of reservable swap space. One method to minimize impact is to use a script which launches the applications needing maximum stack size. Within the script, raise the value of launch the application, and then lower to its previous value. This will allow the specific application to benefit from the increased stack size but will not cause additional stack growth for applications which do not need it. When Should the Value of This Tunable Be Lowered? This tunable should be lowered if swap space is at a premium on the machine and programs that are using too much swap space are affecting the execution of other critical user processes. What Are the Side Effects of Lowering the Value? Lowering this tunable will limit the amount of memory available for stack usage per process. This could cause processes with large stack requirements to terminate with a error. What Other Tunable Values Should Be Changed at the Same Time? The tunable should be considered because it also limits swap usage by process data segment. WARNINGS
All HP-UX kernel tunable parameters are release specific. This parameter may be removed or have its meaning changed in future releases of HP-UX. Installation of optional kernel software, from HP or other vendors, may cause changes to tunable parameter values. After installation, some tunable parameters may no longer be at the default or recommended values. For information about the effects of installation on tun- able values, consult the documentation for the kernel software being installed. For information about optional kernel software that was factory installed on your system, see at AUTHOR
was developed by HP. SEE ALSO
getconf(1), maxdsiz(5), maxtsiz(5). Tunable Kernel Parameters maxssiz(5)
All times are GMT -4. The time now is 02:30 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy