      SUBROUTINE MAIN
      LOGICAL*1 BUF(512), PID(7)
      INTEGER GETARG, SSPAWN
      LOGICAL*1 LOCAL(6)
      LOGICAL*1 USESTR(34)
      DATA LOCAL(1)/108/,LOCAL(2)/111/,LOCAL(3)/99/,LOCAL(4)/97/,LOCAL(5
     *)/108/,LOCAL(6)/0/
      DATA USESTR(1)/117/,USESTR(2)/115/,USESTR(3)/97/,USESTR(4)/103/,US
     *ESTR(5)/101/,USESTR(6)/58/,USESTR(7)/32/,USESTR(8)/32/,USESTR(9)/1
     *09/,USESTR(10)/99/,USESTR(11)/114/,USESTR(12)/98/,USESTR(13)/99/,U
     *SESTR(14)/107/,USESTR(15)/32/,USESTR(16)/34/,USESTR(17)/77/,USESTR
     *(18)/67/,USESTR(19)/82/,USESTR(20)/32/,USESTR(21)/99/,USESTR(22)/1
     *11/,USESTR(23)/109/,USESTR(24)/109/,USESTR(25)/97/,USESTR(26)/110/
     *,USESTR(27)/100/,USESTR(28)/32/,USESTR(29)/108/,USESTR(30)/105/,US
     *ESTR(31)/110/,USESTR(32)/101/,USESTR(33)/34/,USESTR(34)/0/
      CALL QUERY(USESTR)
      IF (.NOT.(GETARG(1, BUF, 512) .EQ. -1))GOTO 23000
      CALL ERROR(USESTR)
23000 CONTINUE
      IF (.NOT.(SSPAWN(LOCAL, BUF, PID, 98) .NE. 0))GOTO 23002
      CALL ERROR(34HError spawning background process.)
      GOTO 23003
23002 CONTINUE
      CALL PUTLIN(PID, 3)
      CALL REMARK(24H: spawned in background.)
23003 CONTINUE
      RETURN
      END
