| | 30 | |
| | 31 | \subsection{Nodebooter Clean-Up} |
| | 32 | If a waveform crashes or is uninstalled incorrectly, Nodebooter will not be |
| | 33 | able to shut down all of the processes that it starts. This is currently |
| | 34 | being addressed by the development team, however in the interim the processes |
| | 35 | must be stopped by hand. To find which processes were not stopped, enter the |
| | 36 | following command: |
| | 37 | \begin{lstlisting}[] |
| | 38 | $ ps -e |
| | 39 | \end{lstlisting} |
| | 40 | |
| | 41 | This will list all of the currently running processes. Processes with the names |
| | 42 | of components or devices that are in the waveform need to be shutdown. To stop |
| | 43 | a process, enter the following command: |
| | 44 | \begin{lstlisting}[] |
| | 45 | $ killall USRP GPP <MORE-DEVICES> TxDemo Decimator <MORE-COMPONENTS> |
| | 46 | \end{lstlisting} |
| | 47 | |
| | 48 | If the USRP node (default\_GPP\_USRP\_sound\_node) cannot be started, this is |
| | 49 | typically resolved by killing the USRP, soundCardPlayback and soundCardCapture |
| | 50 | devices. |
| | 51 | |
| | 52 | To make this process faster, create a script to kill all of the processes created |
| | 53 | by a certain waveform. For example, create a text file called {\tt killOSSIEDemo}. |
| | 54 | \begin{lstlisting}[] |
| | 55 | $ cd ~ |
| | 56 | $ vim killOSSIEDemo |
| | 57 | \end{lstlisting} |
| | 58 | |
| | 59 | In this text file, press {\tt i} to insert text and enter the following on a single |
| | 60 | line: |
| | 61 | \begin{lstlisting}[] |
| | 62 | killall GPP TxDemo ChannelDemo RxDemo |
| | 63 | \end{lstlisting} |
| | 64 | |
| | 65 | Press {\tt <ESC>}, {\tt :wq}, and then {\tt <ENTER>} to save the file and exit. Now |
| | 66 | change the permissions so the script can be executed. |
| | 67 | |
| | 68 | \begin{lstlisting}[] |
| | 69 | $ chmod +x killOSSIEDemo |
| | 70 | \end{lstlisting} |
| | 71 | |
| | 72 | Now the script has been created and can be run by entering the command: |
| | 73 | \begin{lstlisting}[] |
| | 74 | $ ./killOSSIEDemo |
| | 75 | \end{lstlisting} |
| | 76 | |
| | 77 | If not all processes within the script are running a warning will be printed stating |
| | 78 | that the process has not been killed, which is fine. |
| | 79 | |