pbsdsh(1B)

πŸ“¦ version 6.1.3, in epel 9, nixos 26.05, nixpkgs unstable

✨ pbsdsh(1B) ✨

okay so bestie, welcome to pbsdsh β€” the PBS manual page that's gonna let you scatter a task across nodes like confetti πŸŽ€ (this is the PBS manual, section 1B, just so we're clear, iykyk)


🌸 NAME 🌸

pbsdsh β€” distribute task to nodes under pbs

like literally, it hands your program out to the nodes πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

pbsdsh [-c copies] [-o] [-s] [-u] [-v] program [args]
pbsdsh [-n node] [-o] [-s] [-u] [-v] program [args]
pbsdsh [-h nodename] [-o] [-v] program [args]

three whole flavors, pick your fighter ✨


πŸ’– DESCRIPTION πŸ’–

Executes (spawns) a normal Unix program on one or more nodes under control of the Portable Batch System, PBS. periodt. 🫢

pbsdsh uses the Task Manager API, see tm_spawn(3), to distribute the program on the allocated nodes. the way it just... delegates. main character energy honestly πŸ‘‘

When run without the -c or the -n option, pbsdsh will spawn the program on all nodes allocated to the PBS job. and the spawns take place concurrently β€” all execute at (about) the same time. no cap, they're all going at once πŸ”₯

Users will find the PBS_TASKNUM, PBS_NODENUM, and the PBS_VNODENUM environmental variables useful. They contain the TM task id, the node identifier, and the cpu (virtual node) identifier. like little name tags for each spawn, obsessed 🏷️✨


πŸ’… OPTIONS πŸ’…

  • -c copies β€” The program is spawned on the first Copies nodes allocated. This option is mutual exclusive with -n. (yes bestie, you can't have both, pick one πŸ™ˆ)
  • -n node β€” The program is spawned on one node which is the node-th node allocted. This option is mutual exclusive with -c.
  • -h hostname β€” The program is spawned on the node specified.
  • -o β€” Capture stdout of the spawned program. Normally stdout goes to the job's output. (lowkey useful when you're nosy about what the spawn is saying πŸ‘€)
  • -s β€” If this option is given, the program is run in turn on each node, one after the other. no concurrency, we're taking turns like civilized people 🧚
  • -u β€” The program is run once on each node (unique). This ignores the number of allocated processers on a given node. one and done πŸ’€
  • -v β€” Verbose output about error conditions and task exit status is produced. she's chatty and we love her πŸ—£οΈπŸ’œ
ngl, note that -c and -n are mutually exclusive β€” the manpage says "mutual exclusive" and honestly same vibe, they cannot coexist 🚫

πŸ“ OPERANDS πŸ“

The first operand, program, is the program to execute. like, the whole point bestie 🎯

Additional operands, args, are passed as arguments to the program. everything else just tags along for the ride πŸš—βœ¨


😭 STANDARD ERROR 😭

The pbsdsh command will write a diagnostic message to standard error for each error occurrence. so if something goes wrong, she will tell you about it, loudly, in stderr πŸ’€πŸ“’


⭐ EXIT STATUS ⭐

Upon successful processing of all the operands presented to the command, the exit status will be a value of zero. slay πŸŽ‰

If the pbsdsh command fails to process any operand, or fails to contact the MOM daemon on the localhost, the command exits with a value greater than zero. not slay. red flag 🚩 (fr fr, if you see that, go check on your MOM daemon)


🌈 SEE ALSO 🌈

  • qsub(1B)
  • tm_spawn(3B)

go read those next, i believe in you πŸ«ΆπŸ“š


and that's the whole page bestie!! she's pbsdsh(1B), from the PBS corner of the world, marked Local at the bottom β€” this little pbsdsh(1B) icon is signing off πŸ’œβœ¨ πŸŽ€ go distribute some tasks, you've got this πŸ‘‘

πŸ“¦ where this page comes from