10
votes

Comment fonctionne actuellement-> PID pour Linux?

Dois-je inclure une bibliothèque? Quelqu'un peut-il s'il vous plaît élaborer?

Je sais est utilisé pour obtenir l'identifiant de processus de la tâche actuelle où est appelé de

Mais je veux imprimer quelque chose avec actuel-> pid

impression ("mon identifiant de processus actuel / pid est% d \ n", courant-> pid);

... et me donne une erreur

Erreur: le pointeur de déséroférance au type incomplet


1 commentaires

Quelle version de Linux utilisez-vous?


3 Réponses :


-2
votes

Je pense que vous recherchez le getpid () appel système. Je ne sais pas ce que actuel est cependant.


0 commentaires

15
votes

Vous recherchez #include . C'est là que task_tructeur est déclaré.


3 commentaires

+1 Je pense que vous avez répondu à la question, par opposition à moi.


@ROBI Merci. Je ne suis pas totalement sûr non plus non plus, mais je pense que la question concerne la programmation du noyau, étant donné le question précédente .


#include est également nécessaire. Merci!



7
votes

Votre code devrait fonctionner. Vous manquez probablement de l'en-tête.

actuel code> est une variable per-cpu définie dans linux / arche / x86 / include / asm / courant.h code> (tout le code est pour le cas de x86): p>

struct task_struct {
    ...
    pid_t pid;   // process identifier
    pid_t tgid;  // process thread group id
    ...
};


0 commentaires