Code Monkey home page Code Monkey logo

processage's Introduction

processage v0.2

Processage embeds a secret message into a process tree (real/running) and displays the processes in a shuffled table. Re-construct the process family tree to decode the secret message.

Description

Understanding PIDs and PPIDS was challenging for my students, so I made processage to help with that (and for fun and to help me learn new things, too). The goal was to sort of gamify learning about PIDs and PPIDs.

  • Each character in the secret message spawns a new process, which process is parented to the previous character's process.
    • Process names may be set to the ASCII plaintext, binary, or hex representation of each character in the secret message.
  • Linux
    • Sets process names on Linux. While active, try:
      ps -e | less
      ps -el | less
      ps -eo %c%p%P | less
      ps -ef # f flag will not show new process name
      
    • To reveal ordered tree with names, try:
      pstree -ap | grep processage
      
  • Windows
  • At close, processage copies the shuffled process tree (game board?) to the clipboard and saves it as csv, html, and markdown.
    • Example output is shown in output.csv, output.md, and output.html.
    • Comment out lines 99-112 to disable saving output.
    • These files could be useful for constructing secret message worksheets.
  • For fun, try using a shortened url as the secret message.
  • Basically, a linked list.

Getting Started

Cloning and Environment Setup

  • Linux:
git clone https://github.com/FrozenBurrito/processage.git
cd processage
python -m venv .
source bin/activate
pip install -r requirements.txt
  • Windows
git clone https://github.com/FrozenBurrito/processage.git
cd processage
python -m venv .
scripts\activate.bat 
pip install -r requirements.txt

Running processage

python processage.py

Help

Let me know if you have any questions or suggestions.

Authors

Jon Morris, frozenburrito

Version History

  • 0.2
    • Added process name options (ASCII plaintext, binary, or hex)
  • 0.1
    • It works!

License

This project is licensed under the MIT License. See the LICENSE.md file for details.

Helpful Libraries

processage's People

Contributors

frozenburrito avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.