Welcome to the new Linux Foundation Forum!

Exercise 4.1 Examining Signal Priorities and Execution

philipsmithnzphilipsmithnz Posts: 3
edited June 20 in LFS201 Class Forum

How do I test the signals program?

I am not getting the results I expect:

My assumptions: ---------------------------------------------

I compile signals.c (no errors) & run signals exe 

./signals

signals program runs & SHOULD (I think) sit waiting for incoming signals 

I send to the signals process from another Terminal session  using kill -n(thesignal) nnnn(the process)

and the program spits out a display when it gets the signal

---------------------------------------------------------------------------------

However I run ./signals & it displays & terminates:

[email protected] ~/Dropbox/LFS201/LABS $ gcc signals.c

[email protected] ~/Dropbox/LFS201/LABS $ ./signals 

Installing signal handler and Raising signal for signal number:

   1   2   3   4   5   6   7   8  --  10  11  12  13  14  15  16

  17  18  --  20  21  22  23  24  25  26  27  28  29  30  31  --  --  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48

  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64

Signal  Number(Times Processed)

--------------------------------------------

   1:  1     2:  1     3:  1     4:  1     5:  1     6:  1     7:  1     8:  1  

   9:  0    10:  1    11:  1    12:  1    13:  1    14:  1    15:  1    16:  1  

  17:  1    18:  0    19:  0    20:  1    21:  1    22:  1    23:  1    24:  1  

  25:  1    26:  1    27:  1    28:  1    29:  1    30:  1    31:  1    32:  0  

  33:  0    34:  3    35:  3    36:  3    37:  3    38:  3    39:  3    40:  3  

  41:  3    42:  3    43:  3    44:  3    45:  3    46:  3    47:  3    48:  3  

  49:  3    50:  3    51:  3    52:  3    53:  3    54:  3    55:  3    56:  3  

  57:  3    58:  3    59:  3    60:  3    61:  3    62:  3    63:  3    64:  3  



History: Signal  Number(Count Processed)

--------------------------------------------

   4(1)   5(1)   7(1)   8(1)  11(1)  31(1)   1(1)   2(1)

   3(1)   6(1)  10(1)  12(1)  13(1)  14(1)  15(1)  16(1)

  17(1)  20(1)  21(1)  22(1)  23(1)  24(1)  25(1)  26(1)

  27(1)  28(1)  29(1)  30(1)  34(1)  34(2)  34(3)  35(1)

  35(2)  35(3)  36(1)  36(2)  36(3)  37(1)  37(2)  37(3)

  38(1)  38(2)  38(3)  39(1)  39(2)  39(3)  40(1)  40(2)

  40(3)  41(1)  41(2)  41(3)  42(1)  42(2)  42(3)  43(1)

  43(2)  43(3)  44(1)  44(2)  44(3)  45(1)  45(2)  45(3)

  46(1)  46(2)  46(3)  47(1)  47(2)  47(3)  48(1)  48(2)

  48(3)  49(1)  49(2)  49(3)  50(1)  50(2)  50(3)  51(1)

  51(2)  51(3)  52(1)  52(2)  52(3)  53(1)  53(2)  53(3)

  54(1)  54(2)  54(3)  55(1)  55(2)  55(3)  56(1)  56(2)

  56(3)  57(1)  57(2)  57(3)  58(1)  58(2)  58(3)  59(1)

  59(2)  59(3)  60(1)  60(2)  60(3)  61(1)  61(2)  61(3)

  62(1)  62(2)  62(3)  63(1)  63(2)  63(3)  64(1)  64(2)

  64(3)

[email protected] ~/Dropbox/LFS201/LABS $ ps -elf |grep signals

0 S phil      9893  9846  0  80   0 -  3556 pipe_w 10:10 pts/1    00:00:00 grep --color=auto signals

[email protected] ~/Dropbox/LFS201/LABS $ 

I have downloaded the latest version from

https://training.linuxfoundation.org/cm/LFS201/

User LFTraining & pwPenguin2014

with the same result (above).

 

Tried it as a background process: ./signals &

Tried it using sudo": sudo ./signals

tried  gcc signals.c -o mysignals

thus:

[email protected] ~/Dropbox/LFS201/LABS $ gcc signals.c -o mysignals

[email protected] ~/Dropbox/LFS201/LABS $ l

a.out*  mysignals*  signals*  signals.c  was_signals.c

[email protected] ~/Dropbox/LFS201/LABS $ ./mysignals

Installing signal handler and Raising signal for signal number:

   1   2   3   4   5   6   7   8  --  10  11  12  13  14  15  16

  17  18  --  20  21  22  23  24  25  26  27  28  29  30  31  --  --  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48

  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64

Signal  Number(Times Processed)

--------------------------------------------

   1:  1     2:  1     3:  1     4:  1     5:  1     6:  1     7:  1     8:  1  

   9:  0    10:  1    11:  1    12:  1    13:  1    14:  1    15:  1    16:  1  

  17:  1    18:  0    19:  0    20:  1    21:  1    22:  1    23:  1    24:  1  

  25:  1    26:  1    27:  1    28:  1    29:  1    30:  1    31:  1    32:  0  

  33:  0    34:  3    35:  3    36:  3    37:  3    38:  3    39:  3    40:  3  

  41:  3    42:  3    43:  3    44:  3    45:  3    46:  3    47:  3    48:  3  

  49:  3    50:  3    51:  3    52:  3    53:  3    54:  3    55:  3    56:  3  

  57:  3    58:  3    59:  3    60:  3    61:  3    62:  3    63:  3    64:  3  



History: Signal  Number(Count Processed)

--------------------------------------------

   4(1)   5(1)   7(1)   8(1)  11(1)  31(1)   1(1)   2(1)

   3(1)   6(1)  10(1)  12(1)  13(1)  14(1)  15(1)  16(1)

  17(1)  20(1)  21(1)  22(1)  23(1)  24(1)  25(1)  26(1)

  27(1)  28(1)  29(1)  30(1)  34(1)  34(2)  34(3)  35(1)

  35(2)  35(3)  36(1)  36(2)  36(3)  37(1)  37(2)  37(3)

  38(1)  38(2)  38(3)  39(1)  39(2)  39(3)  40(1)  40(2)

  40(3)  41(1)  41(2)  41(3)  42(1)  42(2)  42(3)  43(1)

  43(2)  43(3)  44(1)  44(2)  44(3)  45(1)  45(2)  45(3)

  46(1)  46(2)  46(3)  47(1)  47(2)  47(3)  48(1)  48(2)

  48(3)  49(1)  49(2)  49(3)  50(1)  50(2)  50(3)  51(1)

  51(2)  51(3)  52(1)  52(2)  52(3)  53(1)  53(2)  53(3)

  54(1)  54(2)  54(3)  55(1)  55(2)  55(3)  56(1)  56(2)

  56(3)  57(1)  57(2)  57(3)  58(1)  58(2)  58(3)  59(1)

  59(2)  59(3)  60(1)  60(2)  60(3)  61(1)  61(2)  61(3)

  62(1)  62(2)  62(3)  63(1)  63(2)  63(3)  64(1)  64(2)

  64(3)

[email protected] ~/Dropbox/LFS201/LABS $ ps -elf |grep mysignals

0 S phil     10941  9846  0  80   0 -  3556 pipe_w 10:37 pts/1    00:00:00 grep --color=auto mysignals

[email protected] ~/Dropbox/LFS201/LABS $ 

 

--------------------------------------------------------------------------------------------------

Comments

  • coopcoop Posts: 221

    HI:

    The excercise is doing exactly what it says it is doing.  It is not designed to sit and wait for any user input such as sending a signal to it.  It sends a boatload of signals while they are blocked and then unblocks and records what happens.  Please read the description after the code source, which says:

     


    Prints out statistics including: – The total number of times each signal was received. – The order in which the signals were received, noting each time the total number of times that signal had been received up to that point.

     

Sign In or Register to comment.