Quick exit function for sensitive web page
when you want to fire an event no matter how a process exits.
the complete solution for node.js command-line programs
A replacement for process.exit that ensures stdio are fully drained before exiting.
Run a child as if it's the foreground process. Give it stdio. Exit when it exits.
A Tailwind CSS plugin for creating beautiful animations.
Execute a function on exit without leaking memory, allowing all objects to be garbage collected
Given a response from the npm security api, render it into a variety of security reports
Run some code when the process exits
safely cleanup in signal handlers
A replacement for process.exit that ensures stdio are fully drained before exiting.
Run some code when the process exits (supports async hooks and pm2 clustering)
XState for finite state machines
Execute a function right before the process, or the browser's tab, is about to exit.
unist utility to visit nodes
Execute shell command forwarding all stdio.
Design skills, commands, and anti-pattern detection for AI coding agents
wait-on is a cross platform command line utility and Node.js API which will wait for files, ports, sockets, and http(s) resources to become available
A Bonjour DNS-SD service announcer via mDNS on UDP
Gracefully restore the CLI cursor on exit
👂 Elegant HTTP Listener
Exit,close,kill,shutdown app completely for React Native on iOS and Android.
A TypeScript rewrite of markdown-it with enhancements
unist utility to recursively walk over nodes, with ancestral information
* This gem provides two executable binaries to interact with Mingle (http://mingle.thoughtworks.com/mingle-agile-project-management) through its API. It also has sample interactive Rake task on how to facilitate easy card movements when a card enters/exits the development queue. * mtx is a binary that facilities transition changes for use on rake tasks * minglr is a more interactive tool that provides a quick interface for many common uses
* This gem provides two executable binaries to interact with Mingle (http://mingle.thoughtworks.com/mingle-agile-project-management) through its API. It also has sample interactive Rake task on how to facilitate easy card movements when a card enters/exits the development queue. * mtx is a binary that facilities transition changes for use on rake tasks * minglr is a more interactive tool that provides a quick interface for many common uses
Simple tool to resize AWS instances with EBS root.
Version 1.0.1 Update Notes: -Updated README "HOW TO RUN" -I'm not sure how to format this so it looks good on the gems website so please just see the README file. USE CASES: 1. Your friends bully you because your imaginary role playing worlds are predictable and boring. 2. You like seeing chars printed in nifty patterns. HOW TO RUN: 1. Run `super_simple_world_builder` 2. Follow the prompts EXAMPLE INPUT: Guten Tag! Welcome to Super Simple World Builder. Enter 1 to build a random world Enter 2 to build a custom world Please enter your selection (1, 2, or exit): 2 Enter the name of your world: Community-Town Enter the minimum width of the world: 15 Enter the minimum height of the world: 15 What character do you want to fill the background of your world with? (i.e. any character or single space) How many lake features do you want? 3 How many mountain features do you want? 2 How many town features do you want? 3 How many forest features do you want? 4 OUTPUT: 1. Console print out of the world map 2. A text file of the world map ACHTUNG: 1. Don't worry if the width or height entered is too small. The world will automatically enlarge to fit all features. 2. World maps look better when you enter a <space> as the character to fill the background. 3. This is a quick-and-dirty project so yolo with the specs. I added comments as a consolation prize. 4. See `feature_set.rb` to tweak the features that can be added to the world map. 5. Interestingly, menu prompts may not show up in the git bash terminal. But they do show up in Windows command prompt, so lmao. 6. Feel free to tweak the code however you like. I plan to refactor in the future to dry up some sections.
# ruby unshare (runshare) This tool allows to unshare Linux namespaces. The implementation is similar to the unshare(1) tool. ## Installation Add this line to your application's Gemfile: ```ruby gem 'runshare' ``` And then execute: $ bundle Or install it yourself as: $ gem install runshare ## Usage > require "runshare" > RUnshare::unshare For example: cat > test.rb require "runshare" pid = RUnshare::unshare( :clone_newpid => true, :clone_newns => true, :clone_newcgroup => true, :clone_newipc => true, :clone_newuts => true, :clone_newnet => true, :clone_newtime => true, :fork => true, :mount_proc => "/proc", # docker export $(docker create hello-world) | tar -xf - -C rootfs :root => "/tmp/rootfs" ) if pid == 0 # child puts "--- #{Process.pid}" if system("/hello") != true raise "bad" end puts "--- done" else # parent puts "-- unshare=#{pid}, pid=#{Process.pid}" puts "-- exit=#{Process.waitpid(pid)}" end ^D sudo ruby -I ./lib ./test.rb ## Quick start $ rake compile && echo 'require "runshare"; RUnshare::unshare(:clone_newuts => true)' | irb install -c tmp/x86_64-linux/runshare/2.4.10/runshare.so lib/runshare/runshare.so cp tmp/x86_64-linux/runshare/2.4.10/runshare.so tmp/x86_64-linux/stage/lib/runshare/runshare.so Switch to inspect mode. require "runshare"; RUnshare::unshare ## Ruby <2.5 If your app is single threaded and you are observing: eval:1: warning: pthread_create failed for timer: Invalid argument, scheduling broken Just ignore it with some degree of bravity. You also can silence it by setting: $VERBOSE = nil ## Development After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/sitano/runshare. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. ## License The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).