On Sat, Jun 22, 2019 at 02:14:12PM -0400, Jacob Adams wrote: > > On 6/22/19 12:43 PM, Antoine Jacoutot wrote: > > On Sat, Jun 22, 2019 at 10:42:39AM -0400, Jacob Adams wrote: > >> On 6/22/19 7:05 AM, Antoine Jacoutot wrote: > >>> On Fri, Jun 21, 2019 at 03:57:41PM -0400, Jacob Adams wrote: > >>>> I've got a shell script I'd like to run as a system service. Due to the > >>>> 16 character limitation on pgrep and the -x flag that rc.subr passes to > >>>> check by default, I can't get check or stop to work correctly. The > >>>> problem is that the process name looks like "/bin/sh > >>>> /usr/local/bin/script.sh" which, even if passed to pgrep, won't match > >>>> when -x is used. > >>>> > >>>> My rc.d script currently looks like this: > >>>> > >>> Hi. > >>> > >>> That should not be an issue, that's why pexp is used for. > >>> But without more context it's hard to know how to help you. > >>> > >>> I can match sh scripts without issue: > >>> $ pgrep -xf "/bin/sh /etc/gdm/Xsession /usr/local/bin/gnome-session" > >>> 77289 > >>> > >>> Are you sure your entire process line is "bin/sh /usr/local/bin/authmail"? > >>> We don't run into the 16 chars limitation when using -xf > >> > >> Here's what I was seeing that led me to that conclusion: > >> > >> rukey$ ps aux | grep authmail > >> root 51889 0.0 0.1 724 568 p0- Ip Fri12AM 0:00.01 > >> /bin/sh /usr/local/bin/authmail > >> jacob 25510 0.0 0.2 272 892 p0 S+p 10:36AM 0:00.01 grep > >> authmail > >> rukey$ pgrep -f /bin/sh /usr/local/bin/authmail > >> 51889 > >> rukey$ pgrep -xf /bin/sh /usr/local/bin/authmail > >> > >> > >> However, I didn't think to quote it. that seems to fix it: > >> > >> rukey$ pgrep -xf "/bin/sh /usr/local/bin/authmail" > >> 51889 > >> > >> It appears that rc.subr uses quotes, but: > >> > >> rukey# pgrep -xf "/bin/sh /usr/local/bin/authmail" > >> 51889 > >> rukey# rcctl check authmail > >> authmail(failed) > >> rukey# > >> > >> Any idea what could be going wrong here? > > Dunno, run rcctl in debug mode. > > > rukey# ps ux | grep authmail > root 93772 0.0 0.2 272 892 p0 S+p 2:10PM 0:00.01 grep > authmail > rukey# rcctl -d start authmail > doing _rc_parse_conf > doing _rc_quirks > authmail_flags empty, using default >< > doing _rc_parse_conf /var/run/rc.d/authmail > doing _rc_quirks > doing rc_check > authmail > doing rc_start > doing _rc_wait start > doing rc_check > doing rc_check
Can you share you /var/run/rc.d/authmail file please. -- Antoine

