-*- emacs-wiki -*- Pluto helpers are started by pluto to do cryptographic operations. Pluto will start n-1 of them, where n is the number of CPUs that you have (including hypher threaded CPUs). If you have fewer than 2 CPUs, you will always get at least one helper. You can tell pluto never to start any helpers with the command line option --nhelpers. A value of 0 forces pluto to do all operations in the main process. A value of -1 tells pluto to perform the above calculation. Any other value forces the number to that amount. The sub-process diddle with their process titles as follows: they set the argv[0] to "pluto helper". If an --interface line has been specified, then they insert that string, and finally, the process helper number. e.g: 22174 ? Ss 0:00 /0i/sandboxes/aggr/programs/pluto/pluto --lwdnsq /0i/sandboxes/aggr/programs/lwdnsq/lwdnsq --ctlbase pluto.west --interface lo:w --ikep 22177 ? S 0:00 pluto helper lo:w 0 (waiting for GDB) 22179 ? S 0:00 lwdnsq -d 22185 ? Ss 0:00 /0i/sandboxes/aggr/programs/pluto/pluto --lwdnsq /0i/sandboxes/aggr/programs/lwdnsq/lwdnsq --ctlbase pluto.east --interface lo:e --ikep 22188 ? S 0:00 pluto helper lo:e 0 (waiting for GDB) 22189 ? S 0:00 lwdnsq -d If the environment variable $PLUTO_CRYPTO_HELPER_DEBUG exists, then the helper will mark itself as waiting, and sleep for 60 seconds. This gives a developer time to attach a GDB to the process. After 60 seconds, the helper changes its title back, and continues. The variable can be set with: export PLUTO_CRYPTO_HELPER_DEBUG=true Debug output from the helpers should go to the same destination as pluto output. It may be interleaved, however. The helper uses "!" instead of "|" as a prefix for its debug output.