home *** CD-ROM | disk | FTP | other *** search
- Rem ****************************************
- Rem * Shell3a external command - ps.opl
- Rem * ╕ Nick Murray May 1996
- Rem *
- Rem * ps - List the current processes
- Rem ****************************************
- PROC ps%:(n%)
- LOCAL pri%,ret%,buf$(15),str%,cur%,out$(16),store$(15),addr%
- LOCAL pattern$(2)
- ONERR ErrTrap::
- cur%=CALL($0088)
- fprint%:(" Process ID Priority")
- fprint%:(REPT$("─",29))
- addr%=ADDR(buf$)
- pattern$="*"+CHR$(0)
- DO
- IF KEY=27
- GIPRINT ERR$(-114)
- SHesc%=1
- BREAK
- ENDIF
- str%=ret%
- store$=buf$
- ret%=CALL($0B88,ret%,0,0,UADD(addr%,1),UADD(ADDR(pattern$),1))
- POKEB addr%,CALL($B9,0,0,0,0,UADD(addr%,1))
- IF store$=buf$ OR ret%=str%
- BREAK
- ENDIF
- IF ret%=cur%
- out$=CHR$(28)+buf$
- ELSE
- out$=" "+buf$
- ENDIF
- pri%=CALL($0288,ret%) AND $FF
- fprint%:(out$+REPT$(" ",14-LEN(out$))+NUM$(ret%,-6)+NUM$(pri%,-7))
- UNTIL 0
- RETURN
- ErrTrap::
- ONERR off
- PRINT err$:(ERR)
- ENDP
-