Processus

3 views
Skip to first unread message

beusse

unread,
Feb 25, 2008, 4:22:59 AM2/25/08
to RubyFR public
Bonjour à tous.
J'ai créer une application et je cherche à renomer le processus et
changer sa priorité.
Est-ce que quelqu'un peut me conseiller?
Je vous remercie

Gregoire LEJEUNE

unread,
Feb 25, 2008, 4:50:44 AM2/25/08
to rubyfr...@googlegroups.com
ri Process pour le changement de priorité...

if( (pid = fork()).nil? )
$0 = "Le Nom De Ton Process"
end

Pour le changement de nom.

Greg

2008/2/25, beusse <bureaux....@neuf.fr>:

beusse

unread,
Feb 25, 2008, 5:13:01 AM2/25/08
to RubyFR public
en fait j'obtient ce message d'erreur: "in `fork': the fork() function
is unimplemented on this machine (NotImplementedError)", quand
j'utilise:

> if( (pid = fork()).nil? )
>   $0 = "Le Nom De Ton Process"
> end

merci

Gregoire LEJEUNE

unread,
Feb 25, 2008, 2:32:30 PM2/25/08
to rubyfr...@googlegroups.com
Tu es sur quoi comme machine ?

2008/2/25, beusse <bureaux....@neuf.fr>:

beusse

unread,
Feb 25, 2008, 2:46:37 PM2/25/08
to RubyFR public
Je suis sur windows xp

On 25 fév, 20:32, "Gregoire LEJEUNE" <gregoire.leje...@gmail.com>
wrote:

Gregoire LEJEUNE

unread,
Feb 25, 2008, 5:27:31 PM2/25/08
to rubyfr...@googlegroups.com
Arf ! Alors je ne peux pas t'aider plus... Que donne un ri Process ?

2008/2/25, beusse <bureaux....@neuf.fr>:

beusse

unread,
Feb 26, 2008, 3:20:49 AM2/26/08
to RubyFR public
J'ai taper "ri process" dans l'invité de commande et il y a une liste
de classe qui apparaît, mais je ne voit pas ce que je peut faire par
la suite???
Qu'est-ce que je doit faire avec "ri process"?
En fait pour la priorité, je veut changer la priorité du processus qui
ce trouve dans le gestionnaire des tâches(normal, moyenne, haute...).
Il y a "setpriority(quoi, qui, priorité)", mais je ne sais quoi mettre
à la place de "quoi"???
je pense que "qui" doit être le nom de mon programme ou le nom du
processus.
et pour "priorité" est-ce que je doit mettre (normal, haute...)???
Pour l'instant avec "setpriority" ce qui me dérange le plus, c'est le
"quoi". c'est à dire???
merci

On 25 fév, 23:27, "Gregoire LEJEUNE" <gregoire.leje...@gmail.com>
wrote:

Gregoire LEJEUNE

unread,
Feb 26, 2008, 3:53:44 AM2/26/08
to rubyfr...@googlegroups.com
Je te demandais de faire un

ri Process

avec un P majuscule afin de voir si tu avais la méthode Process#fork...

Bref

Concernant la gestion de priorité, il faut bien utiliser
Process#setpriority(quoi, qui, priorité)

Pour le quoi : Process::PRIO_PROCESS
Pour le qui : 0 si tu es dans ton process, sinon l'identifiant du
processus dont tu souhaites modifier la priorité

Voici un petit exemple (DarkVador.rb)

#!ruby

# DarkVador.rb

if( (pid = fork()).nil? )

$0 = "Skywalker"
end

puts "I'm #{$0} ! My pid is #{Process.pid} and my priority is
#{Process.getpriority(Process::PRIO_USER, 0)}"

if( pid and Process.pid != pid )
puts "I'm your father !"
else
puts "Noooooo !!!"
end

if( pid and Process.pid != pid )
puts "Father change the process priority to 10"
Process.setpriority(Process::PRIO_USER, 0, 10)
end

puts "I'm #{$0} ! My pid is #{Process.pid} and my priority is
#{Process.getpriority(Process::PRIO_USER, 0)}"

Greg


Le 26/02/08, beusse<bureaux....@neuf.fr> a écrit :

beusse

unread,
Feb 26, 2008, 4:32:14 AM2/26/08
to RubyFR public
Je l'avait taper sans la majuscule, maintenant ça me donne autre
chose.
Je retrouve "fork" dans "Class methods" et "Instance methods"
merci pour la priorité.

On 26 fév, 09:53, "Gregoire LEJEUNE" <gregoire.leje...@gmail.com>
wrote:
> Le 26/02/08, beusse<bureaux.sebast...@neuf.fr> a écrit :
>
>
>
>
>
> >  J'ai taper "ri process" dans l'invité de commande et il y a une liste
> >  de classe qui apparaît, mais je ne voit pas ce que je peut faire par
> >  la suite???
> >  Qu'est-ce que je doit faire avec "ri process"?
> >  En fait pour la priorité, je veut changer la priorité du processus qui
> >  ce trouve dans le gestionnaire des tâches(normal, moyenne, haute...).
> >  Il y a "setpriority(quoi, qui, priorité)", mais je ne sais quoi mettre
> >  à la place de "quoi"???
> >  je pense que "qui" doit être le nom de mon programme ou le nom du
> >  processus.
> >  et pour "priorité" est-ce que je doit mettre (normal, haute...)???
> >  Pour l'instant avec "setpriority" ce qui me dérange le plus, c'est le
> >  "quoi". c'est à dire???
> >  merci
>
> >  On 25 fév, 23:27, "Gregoire LEJEUNE" <gregoire.leje...@gmail.com>
> >  wrote:
>
> > > Arf ! Alors je ne peux pas t'aider plus... Que donne un ri Process ?- Masquer le texte des messages précédents -
>
> - Afficher le texte des messages précédents -

Makoto kAworu

unread,
Feb 26, 2008, 6:38:58 PM2/26/08
to rubyfr...@googlegroups.com
Salut !

> Je suis sur windows xp

Si je ne me trompe pas, l'apel système fork() n'existe pas sous windows.

Bonne soirée.

Gregoire LEJEUNE

unread,
Feb 26, 2008, 8:21:03 PM2/26/08
to rubyfr...@googlegroups.com
Il semble oui...

C'est la limite de l'aide que je peux apporter ;)

Greg

2008/2/27, Makoto kAworu <makoto...@gmail.com>:

beusse

unread,
Feb 27, 2008, 3:10:51 AM2/27/08
to RubyFR public
Salut.
Quand j'utilise "PRIO_USER" par exemple, ça ne passe pas, non plus.
J'ai un message d'erreur: name error.
Si quelqu'un peut avoir une solution!!!
Je vous remercie

On 27 fév, 02:21, "Gregoire LEJEUNE" <gregoire.leje...@gmail.com>
wrote:
> Il semble oui...
>
> C'est la limite de l'aide que je peux apporter ;)
>
> Greg
>
> 2008/2/27, Makoto kAworu <makoto.kaw...@gmail.com>:
>
>
>
>
>
> >  Salut !
>
> >  > Je suis sur windows xp
>
> > Si je ne me trompe pas, l'apel système fork() n'existe pas sous windows.
>
> >  Bonne soirée.- Masquer le texte des messages précédents -

Gregoire LEJEUNE

unread,
Feb 27, 2008, 5:41:12 AM2/27/08
to rubyfr...@googlegroups.com
Qu'est-ce qui ne passe pas ? Le fork ? C'est normal, ce n'est
(visiblement) pas possible sous Windows...

<troll>je passe le relais à un spécialiste des systèmes mono-tâche</troll>

Greg

Le 27/02/08, beusse<bureaux....@neuf.fr> a écrit :

Gregoire LEJEUNE

unread,
Mar 2, 2008, 12:11:29 PM3/2/08
to rubyfr...@googlegroups.com
Salut,

j'ai trouvé...

gem install win32-process

puis, dans ton code :

require "rubygems"
require "win32/process"

tu peux ensuite utiliser le fork :

#!ruby

# DarkVador.rb
require "rubygems"
require "win32/process"

if( (pid = fork()).nil? )

$0 = "Skywalker"
end

if( pid and Process.pid != pid )

puts "#{$0}: I'm your father !"
else
puts "#{$0}: Noooooo !!!"
end


Greg


Le 27/02/08, Gregoire LEJEUNE<gregoire...@gmail.com> a écrit :

Gregoire LEJEUNE

unread,
Mar 2, 2008, 12:13:44 PM3/2/08
to rubyfr...@googlegroups.com
Re,

j'ai oublié, mais la doc en fait mention :

The Process.fork implementation should be considered experimental and
not used in production code.

Greg

Le 02/03/08, Gregoire LEJEUNE<gregoire...@gmail.com> a écrit :

beusse

unread,
Mar 2, 2008, 2:05:49 PM3/2/08
to RubyFR public
Il doit sûrement y avoir une autre solution!!!
Si je trouve la réponse, je vous en ferai part.
merci


On 2 mar, 18:13, "Gregoire LEJEUNE" <gregoire.leje...@gmail.com>
wrote:
> Re,
>
> j'ai oublié, mais la doc en fait mention :
>
> The Process.fork implementation should be considered experimental and
> not used in production code.
>
> Greg
>
> Le 02/03/08, Gregoire LEJEUNE<gregoire.leje...@gmail.com> a écrit :
>
>
>
> > Salut,
>
> > j'ai trouvé...
>
> > gem install win32-process
>
> > puis, dans ton code :
>
> > require "rubygems"
> > require "win32/process"
>
> > tu peux ensuite utiliser le fork :
>
> > #!ruby
>
> > # DarkVador.rb
> > require "rubygems"
> > require "win32/process"
>
> > if( (pid = fork()).nil? )
> >  $0 = "Skywalker"
> > end
>
> > if( pid and Process.pid != pid )
> >  puts "#{$0}: I'm your father !"
> > else
> >  puts "#{$0}: Noooooo !!!"
> > end
>
> > Greg
>
> > Le 27/02/08, Gregoire LEJEUNE<gregoire.leje...@gmail.com> a écrit :
> > > Qu'est-ce qui ne passe pas ? Le fork ? C'est normal, ce n'est
> > > (visiblement) pas possible sous Windows...
>
> > > <troll>je passe le relais à un spécialiste des systèmes mono-tâche</troll>
>
> > > Greg
>
> > > Le 27/02/08, beusse<bureaux.sebast...@neuf.fr> a écrit :
>
> > > >  Salut.
> > > >  Quand j'utilise "PRIO_USER" par exemple, ça ne passe pas, non plus.
> > > >  J'ai un message d'erreur: name error.
> > > >  Si quelqu'un peut avoir une solution!!!
> > > >  Je vous remercie
>
> > > >  On 27 fév, 02:21, "Gregoire LEJEUNE" <gregoire.leje...@gmail.com>
> > > >  wrote:
>
> > > > > Il semble oui...
>
> > > >  > C'est la limite de l'aide que je peux apporter ;)
>
> > > >  > Greg
>
> > > > > 2008/2/27, Makoto kAworu <makoto.kaw...@gmail.com>:
>
> > > >  > >  Salut !
>
> > > >  > >  > Je suis sur windows xp
>
> > > >  > > Si je ne me trompe pas, l'apel système fork() n'existe pas sous windows.
>
> > > > > >  Bonne soirée.- Masquer le texte des messages précédents -
>
> > > >  > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
Reply all
Reply to author
Forward
0 new messages