Skip to contentSkip to conversation

How to name the pthread or Renaming?

DISCUSSION ziaudeen 2 participants 4 messages Mar 10, 2008 – Mar 12, 2008 4 messages not in the archive

lore
Share & tools
lore

ziaudeen

author
#0 lore raw

Hi,

While creating a pthread using the pthread_create function, Is there any ways to change/give the name of the thread to our custom names?

Please help me, I am a new bee to linux programming

Regards
Ziaudeen

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

#3 lore raw

Sorry, forgot the ML as CC. I put the ML back on the CC.

Quoted 8 lines · ziaudeen

Hi Bert,

It is the name which I set using the prctl function prctl(PR_SET_NAME,<null
terminated string.,0,0,0). It is successfully setting the name for the thread. But I don't know how to see the changed thread name using the command
like ps -eLf or ps H.

as the named suggest, prctl(2) is to control a process's attributes. The name is a attribute to the whole process, and can not be set individual per thread.

Quoted 3 lines

Do you suggest something for me to try to see the changed name of each
thread?

No, because I think you can not set the name for each thread, at most for the process.

Anyway, I'm a little confused, in your first mail, you asked how to set the name for a thread created with pthread_create(3), and now you ask how you can see the changed name of a thread!

Bert

Quoted 35 lines

Regards
Ziaudeen

Bert Wesarg wrote:
Hi,

On Mon, Mar 10, 2008 at 11:50 AM, ziaudeen <[email protected]> wrote:

Hi,

While creating a pthread using the pthread_create function, Is there any ways to change/give the name of the thread to our custom names?

About what name do you talking, the name of the binary, which is shown
in ps/top/...?

If its some internal name, posix threads have no such thing.

Bert

Please help me, I am a new bee to linux programming

Regards
Ziaudeen

A message that is not in the archive (sent off-list or not yet received): [email protected]

#5 lore raw
Quoted 12 lines · ziaudeen

Hi Bert,
As the pthread_create or any other pthread functionality API is not
available to set a name to the thread, so I have tried with the prctl() with PR_SET_NAME. I am able to set the name for the thread.successfully, since it is considered as LWP(light weight process), it is individually setting the name for the thread. I have checked this by using prctl() -PR_GET_NAME getting the name back from each thread and print it, I will be able to see the individual thread name, what I have change it. So now the problem is I am unable to see the LWP process name through PS command, even though the name is present for each thread. So I would like to know whether any other command present to see the pthread names.

Ok, I was wrong, the name you can set with prctl is indeed a per-thread attribute. you can see this either in the stat file from the /proc filesystem (inside parentheses) or with ps and the comm format, not the args format, and the same with top, where you switch this with 'c'.

Bert

Quoted 82 lines

Regards
Ziaudeen

Bert Wesarg wrote:
Sorry, forgot the ML as CC. I put the ML back on the CC.

On Mon, Mar 10, 2008 at 3:49 PM, ziaudeen <[email protected]> wrote:

Hi Bert,

It is the name which I set using the prctl function prctl(PR_SET_NAME,<null
terminated string.,0,0,0). It is successfully setting the name for the thread. But I don't know how to see the changed thread name using the command
like ps -eLf or ps H.

as the named suggest, prctl(2) is to control a process's attributes.
The name is a attribute to the whole process, and can not be set individual per thread.

Do you suggest something for me to try to see the changed name of each
thread?

No, because I think you can not set the name for each thread, at most
for the process.

Anyway, I'm a little confused, in your first mail, you asked how to set the name for a thread created with pthread_create(3), and now you ask how you can see the changed name of a thread!

Bert

Regards
Ziaudeen

Bert Wesarg wrote:
Hi,

On Mon, Mar 10, 2008 at 11:50 AM, ziaudeen <[email protected]> wrote:

Hi,

While creating a pthread using the pthread_create function, Is there any ways to change/give the name of the thread to our custom names?

About what name do you talking, the name of the binary, which is shown
in ps/top/...?

If its some internal name, posix threads have no such thing.

Bert

Please help me, I am a new bee to linux programming

Regards
Ziaudeen

A message that is not in the archive (sent off-list or not yet received): [email protected]

#7 lore raw
Quoted 10 lines · ziaudeen

Bert Wesarg wrote:
Ok, I was wrong, the name you can set with prctl is indeed a
per-thread attribute. you can see this either in the stat file from the /proc filesystem (inside parentheses) or with ps and the comm format, not the args format, and the same with top, where you switch this with 'c'.

Could you please tell me exactly what is the command " ps -c" Is it ? I
don't understand the comm mode means..

I wrote 'comm format' and not 'mode'. if you mean with the '-c' the misc option 'true command name', than why do you put a '-' in front of it? the help message shows only a single 'c' => "ps c"

Bert

Quoted 2 lines

- Ziaudeen