pbs_manager(3B)

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

🌸 NAME 🌸

okay bestie, meet pbs_manager: this is the function from the PBS manual (pbs_manager(3B)) that does administrator stuff to a PBS batch object. The original name line literally says β€œadministrator a pbs batch object,” and we are keeping that exact chaotic energy. It’s the admin-request girlie for batch objects. πŸ’…

✨ SYNOPSIS ✨

#include <pbs_error.h>
#include <pbs_ifl.h>

int pbs_manager(int connect, int command, int obj_type, char *obj_name,
struct attropl *attrib, char *extend)

πŸ’… DESCRIPTION πŸ’…

This function issues a batch request to perform administration functions at a server. With this request, server objects such as queues can be created and deleted, and have their attributes set and unset. Iconic behavior, honestly. πŸŽ€

A Manage batch request is generated and sent to the server over the connection specified by connect, which is the return value of pbs_connect(). This request requires full batch administrator privilege β€” like, no cap, you need the big admin powers. πŸ‘‘

The parameter command specifies the operation to be performed. See pbs_ifl.h:

#define MGR_CMD_CREATE 0
#define MGR_CMD_DELETE 1
#define MGR_CMD_SET    2
#define MGR_CMD_UNSET  3

The parameter obj_type declares the type of object upon which the command operates. See pbs_ifl.h:

#define MGR_OBJ_SERVER  0
#define MGR_OBJ_QUEUE   1

The parameter obj_name is the name of the specific object. 🎯

The parameter attrib is a pointer to an attropl structure, which are defined in pbs_ifl.h as:

struct attropl {
    char   *name;
    char   *resource;
    char   *value;
    enum batch_op op;
    struct attropl *next;
};

The attrib list is terminated by the first entry where next is a null pointer. πŸ›‘

  • name β€” points to a string which is the name of the attribute.
  • resource β€” if the attribute is one which contains a set of resources, the specific resource is specified in the structure member resource. Otherwise, the member resource is pointer to a null string.
  • value β€” points to a string which is the new value of the attribute.
  • op β€” defines the manner in which the new value is assigned to the attribute. The operators are: enum batch_op { ..., SET, UNSET, INCR, DECR };

The parameter extend is reserved for implementation defined extensions. ✨

Functions MGR_CMD_CREATE and MGR_CMD_DELETE require PBS Manager privilege. Functions MGR_CMD_SET and MGR_CMD_UNSET require PBS Manager or Operator privilege. So create/delete are manager-only, and set/unset are manager-or-operator. Slay, but respect the permissions. πŸ”

πŸ‘€ SEE ALSO πŸ‘€

qmgr(1B) and pbs_connect(3B) β€” go read those too, bestie. 🫢

🚨 DIAGNOSTICS 🚨

When the batch request generated by pbs_manager() has been completed successfully by a batch server, the routine will return 0 (zero). Otherwise, a non zero error is returned. The error number is also set in pbs_errno. So 0 = it ate, nonzero = check pbs_errno, okay? 😭


mwah πŸ’‹ this page is pbs_manager(3B) from the Local source/version, and the footer doesn’t give a date, so that’s the whole tea. bye bestie πŸ«ΆπŸŽ€

πŸ“¦ where this page comes from