So, instead of sleeping for a minute (or close to it anyway) then loop 60 times and sleep for 1 second on each loop. I love it. :-)

Thanks,

Bill

------------------------------------------------------------------------
Wally Terhune said the following on 4/2/2010 11:05 AM:
Not sure.
We do use signaling to 'interrupt' the running process and get it to tell the 
PORT.STATUS session what it is up to.
IIRC, we use SIGUSR2,  specifically.
So - there could be some system calls that the udt process is in that cannot be 
interrupted.
For instance, I tested a phantom that was running 'SLEEP 120' -  and 
experienced the same result as Bill (no call stack printed).
I changed this to a loop FOR 120 that was printing a line, then SLEEP 1

Here is the result:
:LISTUSER

Licensed(UDT+CP)/Effective      Udt     Sql     iPhtm   Pooled          Total

    (  32 + 32  ) / 64          2       0       0       0               2

UDTNO USRNBR  UID USRNAME   USRTYPE  TTY    IP-ADDRESS    TIME     DATE
  1   5372 305730 WTerhune  udt     pts/1   Console       11:53:11 Apr 02 2010
  2   6020 305730 WTerhune  phantom pts/2   Console       11:58:05 Apr 02 2010
  3   2384 305730 WTerhune  udt     pts/3   Console       11:55:11 Apr 02 2010

:PORT.STATUS PID 6020 CALL.STACK

Licensed(UDT+CP)/Effective      Udt     Sql     iPhtm   Pooled          Total

    (32 + 32) / 64              2       0       0       0               2

Udtno Pid       User       UserType     Port     Last command processed
2     6020      WTerhune   phantom      8443624

level line  BASIC callstack
1     4     BP\_WWW

Session no command stack.
:

Wally Terhune
U2 Support Architect
Rocket Software
4700 S. Syracuse Street, Suite 400 **Denver, CO 80237 **USA
Tel: +1.720.475.8055
Email: [email protected]
Web: www.rocketsoftware.com/u2


-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Bill Haskett
Sent: Friday, April 02, 2010 10:22 AM
To: U2 Users List
Subject: Re: [U2] UD: Phantoms

Wally:

Thanks. Using LISTUSER() I can figure out what processes are phantoms but not what they're running. Thus, I have no way to figure out of my BACKGROUND.SERVICE program is running (it sleeps and wakes up every minute). When I do a PORT.STATUS PID {pid# of phantom} CALL.STACK nothing is returned (and it takes about 15 seconds on a fast, development system).

2 Dev (0)-> LU

Licensed(UDT+CP)/Effective Udt Sql iPhtm Pooled Total

    (  24 + 1   ) / 25          3       0       0       0               3

UDTNO USRNBR  UID USRNAME   USRTYPE  TTY    IP-ADDRESS    TIME     DATE
1 2192 197614 AsiAdmin phantom pts/1 Console 05:51:51 Apr 02 2010 2 3248 197615 wphaskett udt pts/2 192.168.1.51 05:54:32 Apr 02 2010

2 Dev (0)-> PORT.STATUS PID 2192 CALL.STACK

Licensed(UDT+CP)/Effective Udt Sql iPhtm Pooled Total

    (24 + 1) / 25               3       0       0       0               3

Udtno Pid       User       UserType     Port     Last command processed
1     2192      AsiAdmin   phantom      28101260

2 Dev (0)->

Am I missing something?

Thanks again.

Bill

------------------------------------------------------------------------
Wally Terhune said the following on 4/2/2010 8:40 AM:
Question wasn't clear to me.
If looking at active processes, listuser shows which are phantoms (USRTYPE 
column)
Also - UniBasic LISTUSER() function returns this as dynamic array for easy 
parsing

:listuser

Licensed(UDT+CP)/Effective      Udt     Sql     iPhtm   Pooled          Total

    (  32 + 32  ) / 64          1       0       0       0               1

UDTNO USRNBR  UID USRNAME   USRTYPE  TTY    IP-ADDRESS    TIME     DATE
  1   5936 305730 WTerhune  udt     pts/1   Console       09:34:36 Apr 02 2010
  2   4300 305730 WTerhune  phantom pts/2   Console       09:34:58 Apr 02 2010

Wally Terhune
U2 Support Architect
Rocket Software
4700 S. Syracuse Street, Suite 400 **Denver, CO 80237 **USA
Tel: +1.720.475.8055
Email: [email protected]
Web: www.rocketsoftware.com/u2


-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Martin Phillips
Sent: Friday, April 02, 2010 9:35 AM
To: U2 Users List
Subject: Re: [U2] UD: Phantoms

Hi Bill,

In UniData, does anyone know of a sure way to determine if a BASIC program is running as a phantom?
Take a look at the @USER.TYPE variable. This contains 1 for a phantom.


Martin Phillips
Ladybridge Systems Ltd
17b Coldstream Lane, Hardingstone, Northampton, NN4 6DB
+44-(0)1604-709200
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users

Reply via email to