Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.programming > #14381
| From | Meredith Montgomery <mmontgomery@levado.to> |
|---|---|
| Newsgroups | comp.unix.programmer, comp.programming |
| Subject | a kind of a web-shell-api for managing long running processes |
| Followup-To | comp.unix.programmer |
| Date | 2021-12-30 17:16 -0300 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <86ee5tq25z.fsf@levado.to> (permalink) |
Cross-posted to 2 groups.
Followups directed to: comp.unix.programmer
I'm helping someone to improve a CMS-type of web system. This web system sometimes needs to run some background processes --- such as send a batch of e-mail or other process that takes a while to finish. I see the challenge here as just writing something that will look like a very basic UNIX shell --- so I'll call it ``web-api-shell'' from now on. (``Web'' because it will be used by a web system through some API.) This thing must run really well. It has to be flawless. I'm looking for design principles and advice. (*) Where will it run It will run on GNU systems running the Linux kernel. (*) My own thoughts The interface to shell will be through HTTP requests, so this shell will likely be a web server of some sort. But before I get involved in the web at all, I need the shell working flawlessly. So I need a laboratory first. I could write a program that reads some named pipe on disk to get commands such as ``run this or that'' while I work. (Later I can write a web server replacing this named-pipe interface.) Just like a UNIX shell, this web-api-shell must know all every process it runs. I suppose the work is essentially fork(), execve() followed by waitpid(). One concern I have is the following. Is it possible for a process to simply ``get out of'' the shell? What do I mean by that? A process that does fork() and puts itself into background would leave the web-api-shell's control, wouldn't it? I think I must avoid that. Perhaps I can't let just any process run. Perhaps the web-api-shell must only offer a few processes carefully written by myself --- so that I know they won't put themselves in background. (For instance, I can't let them change PIDs, otherwise I won't have any idea who they are and that's a mess. I'd love to somehow restrict system calls such as fork().) (*) What is my level of training? In the past I've studied many parts of Advanced Programming in the UNIX Environment W. Richard Stevens I will definitely have to read it again to get work on this project. Can you mention any UNIX concepts that are of great relevance for this project? I don't think I ever got my mind wrapped around things like sessions, session leaders and so on. Are these concepts relevant to this application? Thank you very much.
Back to comp.programming | Previous | Next — Next in thread | Find similar | Unroll thread
a kind of a web-shell-api for managing long running processes Meredith Montgomery <mmontgomery@levado.to> - 2021-12-30 17:16 -0300 Re: a kind of a web-shell-api for managing long running processes Härra Ramob <he6655442211@hotmail.com> - 2022-01-03 01:21 -0800 Re: a kind of a web-shell-api for managing long running processes Julio Di Egidio <julio@diegidio.name> - 2022-01-03 05:45 -0800
csiph-web