Student Information ------------------- Plugin Name: SuperJobs Purpose: Super Jobs improves on the built in jobs command and outputs extremely detailed information. SuperJobs outputs all Pipeline info and all command info for each pipeline into a nicely formatted list for the user. Simple and helpful for debugging. IMPORTANT ---------> TO SUPPORT THIS PLUGIN <------------------- IMPORTANT BELOW NOTE: You must have a reference to a function that returns your jobs list in your shell struct called shell in your esh.c. This allows the SuperJobs plugin to get passed a shell struct and call your jobs list to print custom output. Without this, it will not work. TO CONNECT IN CODE: If you get access to the plugin struct, all you need to do is call process_builtin and pass it a command struct Example: plugin_struct->process_builtin(your_command_struct); If TRUE is returned, the plugin was run successfully and the command entered was valid for the plugin (a.k.a the commands argv[0] was equal to "sjobs") If FALSE is returned, the command was not valid and you should try the command struct on something else NOTE: You must also have a pointer to a function that returns your jobs list in your shell struct located in your esh.c. IMPORTANT ----------> TO SUPPORT THIS PLUGIN <----------------- IMPORTANT ABOVE To Run Plugin (once you support it): All you need to do to run super jobs is call "sjobs" from your terminal. If there are jobs available in your list it will print out custom output. If there arent any it will print nothing. To Run Plugin Test: Run with the below command in your src directory if the .so and .py test file are located in your plugins directory. python plugins/134_SuperJobs_test.py eshoutput.py " -p plugins" Note: You may either use the provided 134_SuperJobs_eshoutput.py or the project one. They are identical.