> # 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