> # ps efxl |grep "grep"<BR>> 0 0 9095 2224 15 0 3684 672 pipe_w S pts/1 0:00 |<BR>> \_ grep grep...etc.<BR><BR> This is tricky: you are not guaranteed that grep will be already lanched by the time ps reads the process table. If you try that several times on the command-line, you'll find that some times it doesn't find grep.<BR><BR>> irb(main):026:0> r = `ps efxl |grep "grep"`<BR>> => ""<BR>> irb(main):027:0> puts r<BR>> <BR>>3D> nil<BR>> irb(main):028:0><BR>> <BR>> Theroblem seems to be with the pipe character | but escaping it <BR>> with"\" has no effect. <BR>> How can put a "|" inside my backticks?<BR><BR> It has nothing to do with the |. The problem is, maybe when run under ruby, the timing is slightly different, and you come up more often with the case when grep is nottarted yet. See this:<BR><BR>irb(main):001:0> `ps efxl | grep irb`<BR>=> "0 1000 426 401 15 0 46123248 - R+ pts/6 0:00 \\_ irb 5Cn"<BR>irb(main):002:0> `ps efxl | grep grep`<BR>=> ""<BR>irb(main):003:0> `ps efxl | grep grep`<BR>=> "0 1000 435 433 15 0 1648 516 pipe_w S+ pts/6 0:00 \\_ grep grep MANPA\n"<BR><BR> Cheers !<BR><BR> Vince