mirror of https://github.com/Hilbis/Hilbish
33 lines
9.3 KiB
HTML
33 lines
9.3 KiB
HTML
<!doctype html><html><head><title>— Hilbish</title><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><meta name=theme-color content="#ff89dd"><meta content="/Hilbish/hilbish-flower.png" property="og:image"><meta property="og:site_name" content="Hilbish"><meta content=" — Hilbish" property="og:title"><meta content="(This has mainly been replaced by hilbish.jobs ).
|
|
Hilbish has pretty standard job control. It’s missing one or two things, but works well. One thing which is different from other shells (besides Hilbish) itself is the API for jobs, and of course it’s in Lua. You can add jobs, stop and delete (disown) them and even get output.
|
|
Job Interface The job interface refers to hilbish.jobs.
|
|
Functions (Note that in the list here, they’re called from hilbish." property="og:description"><meta content="(This has mainly been replaced by hilbish.jobs ).
|
|
Hilbish has pretty standard job control. It’s missing one or two things, but works well. One thing which is different from other shells (besides Hilbish) itself is the API for jobs, and of course it’s in Lua. You can add jobs, stop and delete (disown) them and even get output.
|
|
Job Interface The job interface refers to hilbish.jobs.
|
|
Functions (Note that in the list here, they’re called from hilbish." name=description><meta name=revisit-after content="2 days"><meta name=keywords content="Lua,Hilbish,Linux,Shell"><meta property="og:locale" content="en_GB"><link rel=canonical href=https://rosettea.github.io/Hilbish/><meta property="og:url" content="https://rosettea.github.io/Hilbish/"><link href=https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/bootstrap.min.css rel=stylesheet integrity=sha384-0evHe/X+R7YkIZDRvuzKMRqM+OrBnVFBL6DOitfPri4tjfHxaWutUpFmBp4vmVor crossorigin=anonymous><script src=https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/js/bootstrap.bundle.min.js integrity=sha384-pprn3073KE6tl6bjs2QrFaJGz5/SUsLqktiwsUTF55Jfv3qYSDhgCecCxMW52nD2 crossorigin=anonymous></script>
|
|
<link rel=stylesheet href=https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css integrity="sha512-KfkfwYDsLkIlwQp6LFnl8zNdLGxu9YAA1QvwINks4PhcElQSvqcyVLLD9aMhXd13uQjoXtEKNosOWaZqXgel0g==" crossorigin=anonymous referrerpolicy=no-referrer><link rel=stylesheet href=/Hilbish/css/syntax.min.eb77978873f3b324603120b558a36c98ad57d6ee7b77928e3bc131bd76c5935a.css integrity="sha256-63eXiHPzsyRgMSC1WKNsmK1X1u57d5KOO8ExvXbFk1o="></link><style>.heading>.heading-link{opacity:0}.heading:hover>.heading-link{visibility:visible;opacity:1;transition:all .1s ease-in}@keyframes highlight{0%{background:0 0}50%{background:#fff2cf}100%{background:0 0}}div:target{animation:highlight 1.2s;animation-timing-function:cubic-bezier(1,-.02,.45,.89)}table{border-width:1px;border-style:solid;border-color:#565c64;border-collapse:collapse;margin-bottom:12px}table td{padding:5px}table tr{border-width:1px}thead{display:none}</style></head><body class="d-flex flex-column min-vh-100" style=overflow-x:hidden><svg xmlns="http://www.w3.org/2000/svg" style="display:none"><symbol id="check-circle-fill" fill="currentcolor" viewBox="0 0 16 16"><path d="M16 8A8 8 0 110 8a8 8 0 0116 0zm-3.97-3.03a.75.75.0 00-1.08.022L7.477 9.417 5.384 7.323a.75.75.0 00-1.06 1.06L6.97 11.03a.75.75.0 001.079-.02l3.992-4.99a.75.75.0 00-.01-1.05z"/></symbol><symbol id="info-fill" fill="currentcolor" viewBox="0 0 16 16"><path d="M8 16A8 8 0 108 0a8 8 0 000 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194.0.487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703.0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 110-2 1 1 0 010 2z"/></symbol><symbol id="exclamation-triangle-fill" fill="currentcolor" viewBox="0 0 16 16"><path d="M8.982 1.566a1.13 1.13.0 00-1.96.0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889.0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535.0.954.462.9.995l-.35 3.507a.552.552.0 01-1.1.0L7.1 5.995A.905.905.0 018 5zm.002 6a1 1 0 110 2 1 1 0 010-2z"/></symbol></svg><header><nav class="navbar navbar-expand-md sticky-top bg-light border-bottom"><div class=container-fluid><a class=navbar-brand href=/Hilbish><img src=/Hilbish/hilbish-logo-and-text.png alt height=48></a>
|
|
<button class=navbar-toggler type=button data-bs-toggle=collapse data-bs-target=#navbarSupportedContent aria-controls=navbarSupportedContent aria-expanded=false aria-label="Toggle navigation">
|
|
<span class=navbar-toggler-icon></span></button><div class="collapse navbar-collapse" id=navbarSupportedContent><ul class="navbar-nav me-auto mb-2 mb-lg-0"><li class=nav-item><a href=/Hilbish/ class=nav-link>Home</a></li><li class=nav-item><a href=/Hilbish/install/ class=nav-link>Install</a></li><li class=nav-item><a href=/Hilbish/docs/ class=nav-link>Docs</a></li><li class=nav-item><a href=/Hilbish/blog/ class=nav-link>Blog</a></li></ul></div></div></nav></header><main><div class="container mt-2"><h1></h1><img src='https://avatars1.githubusercontent.com/u/38820196?s=460&u=b9f4efb2375bae6cb30656d790c6e0a2939327c0&v=4' width=48 style=border-radius:100%>
|
|
<em class=text-muted>by <strong>sammyette</strong></em><div class=my-4><p>(This has mainly been replaced by <a href=../api/hilbish.jobs>hilbish.jobs</a>
|
|
).</p><p>Hilbish has pretty standard job control. It’s missing one or two things,
|
|
but works well. One thing which is different from other shells
|
|
(besides Hilbish) itself is the API for jobs, and of course it’s in Lua.
|
|
You can add jobs, stop and delete (disown) them and even get output.</p><h2 id=job-interface class=heading>Job Interface
|
|
<a href=#job-interface class=heading-link><i class="fas fa-paperclip"></i></a></h2><p>The job interface refers to <code>hilbish.jobs</code>.</p><h3 id=functions class=heading>Functions
|
|
<a href=#functions class=heading-link><i class="fas fa-paperclip"></i></a></h3><p>(Note that in the list here, they’re called from <code>hilbish.jobs</code>, so
|
|
a listing of <code>foo</code> would mean <code>hilbish.jobs.foo</code>)</p><ul><li><code>all()</code> -> {jobs}: Returns a table of all jobs.</li><li><code>last()</code> -> job: Returns the last added job.</li><li><code>get(id)</code> -> job: Get a job by its ID.</li><li><code>add(cmdstr, args, execPath)</code> -> job: Adds a new job to the job table.
|
|
Note that this does not run the command; You have to start it manually.
|
|
<code>cmdstr</code> is the user’s input for the job, <code>args</code> is a table of arguments
|
|
for the command. It includes arg0 (don’t set it as entry 0 in the table)
|
|
and <code>execPath</code> is an absolute path for the command executable.</li><li><code>disown(id)</code>: Removes a job by ID from the job table.</li></ul><h2 id=job-object class=heading>Job Object
|
|
<a href=#job-object class=heading-link><i class="fas fa-paperclip"></i></a></h2><p>A job object is a piece of <code>userdata</code>. All the functions of a job require
|
|
you to call them with a colon, since they are <em>methods</em> for the job object.
|
|
Example: hilbish.jobs.last():foreground()
|
|
Which will foreground the last job.</p><p>You can still have a job object for a disowned job,
|
|
it just won’t be <em>working</em> anywhere. :^)</p><h3 id=properties class=heading>Properties
|
|
<a href=#properties class=heading-link><i class="fas fa-paperclip"></i></a></h3><ul><li><code>cmd</code>: command string</li><li><code>running</code>: boolean whether the job is running</li><li><code>id</code>: unique id for the job</li><li><code>pid</code>: process id for the job</li><li><code>exitCode</code>: exit code of the job
|
|
In ordinary cases you’d prefer to use the <code>id</code> instead of <code>pid</code>.
|
|
The <code>id</code> is unique to Hilbish and is how you get jobs with the
|
|
<code>hilbish.jobs</code> interface. It may also not describe the job entirely.</li></ul><h3 id=functions-1 class=heading>Functions
|
|
<a href=#functions-1 class=heading-link><i class="fas fa-paperclip"></i></a></h3><ul><li><code>stop()</code>: Stops the job.</li><li><code>start()</code>: Starts the job.</li><li><code>foreground()</code>: Set the job as the current running foreground process, or
|
|
run it in the foreground after it has been suspended.</li><li><code>background()</code>: Run the job in the background after it has been suspended.</li></ul></div></div></main><footer class="footer mt-auto mt-auto py-3 bg-light row border-top"><div class="col mb-3"></div><div class="col mb-3"><a href=/Hilbish class="d-flex align-items-center mb-3 link-dark text-decoration-none"><img src=/Hilbish/hilbish-logo-and-text.png alt height=48 class="d-inline-block align-text-top" style=margin-left:-20px></a><ul class="nav flex-column"><li class="nav-item mb-2"><a href=/Hilbish class="nav-link p-0 text-muted">Home</a></li><li class="nav-item mb-2"><a href=/Hilbish/docs/faq class="nav-link p-0 text-muted">FAQ</a></li><li class="nav-item mb-2"><a href=https://github.com/Rosettea/Hilbish class="nav-link p-0 text-muted">Source</a></li><li class="nav-item mb-2"><a href=https://github.com/Rosettea/Hilbish/releases class="nav-link p-0 text-muted">Releases</a></li><li class="nav-item mb-2"><a href=/Hilbish/docs class="nav-link p-0 text-muted">Documentation</a></li></ul></div><div class="col mb-3"></div><div class="col mb-3"></div><div class="col mb-3"></div><div class="col mb-3"><p class="text-muted mt-4">Rosettea © 2022-2023<br>Made with <i class="fa-solid fa-heart" style=color:#f6345b></i></p></div><div class="col mb-3"></div></footer></body></html> |