09-29-2010
key_t type max length or boundaries value
Hello,
In shared memory, when using shmget function, first parameter is ket_t key.
I know it is an integer type, but length of it is system dependent. That means may not be have integer's ranges.
What is range of key_t in Linux? Is it different in distros, for example in ubuntu & fedora?
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi Guys,
Could anyone shed some light on the length of a Unix filepath max length pls ?
thanks !
Wilson (3 Replies)
Discussion started by: wilsontan
3 Replies
2. Shell Programming and Scripting
i have a shell script which takes several args. what is the maximum length of string i can give as argument? (6 Replies)
Discussion started by: senthilk615
6 Replies
3. UNIX for Dummies Questions & Answers
Hi all,
I tried to write a shell to read huge file and eliminate max length record which is wrong generated record. But I get an error
remove_sp.sh: line 27: syntax error near unexpected token `else'
remove_sp.sh: line 27: ` else $LINE >> REJFILE'
My shell is here:
#!/bin/sh... (5 Replies)
Discussion started by: mr_bold
5 Replies
4. Shell Programming and Scripting
Hi all,
I have a flat file of 1000 rows. I want to check the length of the 5th column. The one having the longest length , I want to set it as DEFINED PARAMETER.
So later I can check others with that particular number only.
Any ideas ?? (2 Replies)
Discussion started by: ganesh123
2 Replies
5. UNIX for Dummies Questions & Answers
I would like to print value of key generate like this....
key_t k = ftok(".",'c');
printf("key is %d \n" , k);
Is there other way to print this type. I dont think I am getting right output which is
key is 1662074913 (shouldn't it be 6362074913) since 'c' is 63 in hex (ascii table).... (2 Replies)
Discussion started by: joker40
2 Replies
6. UNIX for Advanced & Expert Users
Hi,
This is my first post to this site. So kindly forgive if I am writing in a wrong section.
My query is that...
I want to modify the max username length size. I guess it is 32/64 on CentOS. Now I want to change it to 128. Is there any way to do that?
Thanks in advance!! :) (4 Replies)
Discussion started by: ajay303
4 Replies
7. UNIX for Dummies Questions & Answers
Hey Any one...
Do u know any way I can modify the max username length in unix? I guess it is 32/64 characters by default. Suppose I want to increase it to 128.
i hav tried /etc/skel
but no use...
How can I do that? (2 Replies)
Discussion started by: MayureshRisbud
2 Replies
8. Shell Programming and Scripting
I have a large file of many pairs of sequences and their headers, which always begin with '>'
I'm looking for help on how to retain only sequences (and their headers) below a certain length. So if min length was 10, output would be
I can filter by length, but I'm not sure how to exclude... (3 Replies)
Discussion started by: pathunkathunk
3 Replies
9. Shell Programming and Scripting
hai guys,
pick the 1st field and calculate max length.
if suppose max length is 2,
then compare the all records if <2 then add zero's prefix of the record.
for ex:
s.no,sname
1,djud
37,jtuhe
in this max length of the 1st field is 2 right
the output wil be
s.no,sname
01,djud... (6 Replies)
Discussion started by: Suneelbabu.etl
6 Replies
10. UNIX for Beginners Questions & Answers
I'm new with scripting and I can't seem to figure out what I should do to get the output that I want.
My file content would be below.
ID2|ID3 |ID4|ID5 |
I'm trying to replace the field of ID3 which has a fixed length of 10 characters, for each entry I have placed on a .txt file... (5 Replies)
Discussion started by: asdfghjkl
5 Replies
LEARN ABOUT ULTRIX
shmget
shmget(2) System Calls Manual shmget(2)
Name
shmget - get shared memory segment
Syntax
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
int shmget (key, size, shmflg)
key_t key;
int size, shmflg;
Description
The system call returns the shared memory identifier associated with key.
A shared memory identifier and associated data structure and shared memory segment of size size bytes are created for key, if one of the
following is true:
The key is equal to IPC_PRIVATE. For further information, see
The key does not already have a shared memory identifier associated with it, and (shmflg & IPC_CREAT ) is true.
Upon creation, the data structure associated with the new shared memory identifier is initialized as follows:
The and are set equal to the effective user ID and effective group ID of the calling process.
The low-order nine bits of are set equal to the low-order nine bits of shmflg. The is set equal to the value of size.
The and are set equal to zero (0). The shm_ctime is set equal to the current time.
Return Values
Upon successful completion, a non-negative integer, namely, a shared memory identifier is returned. Otherwise, a value of -1 is returned
and errno is set to indicated the error.
Diagnostics
The system call fails if any of the following is true:
[EINVAL] The size is less than the system-imposed minimum or greater than the system-imposed maximum.
[EACCES] A shared memory identifier exists for key, but operations permission, as specified by the low-order nine bits of shmflg,
would not be granted. For further information, see
[EINVAL] A shared memory identifier exists for key, but the size of the segment associated with it is less than size and size is not
equal to zero.
[ENOENT] A shared memory identifier does not exist for key, and (shmflg & IPC_CREAT ) is false.
[ENOSPC] A shared memory identifier is to be created, but the system-imposed limit on the maximum number of allowed shared memory
identifiers would be exceeded.
[ENOMEM] A shared memory identifier and the associated shared memory segment are to be created, but the amount of available physical
memory is not sufficient to fill the request.
[EEXIST] A shared memory identifier exists for key, but ((shmflg & IPC_CREAT ) and (shmflg & IPC_EXCL )) is true.
See Also
shmctl(2), shmop(2), ftok(3)
shmget(2)