Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.arch.embedded > #31985
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Newsgroups | comp.arch.embedded |
| Subject | Re: Linux Embedded: how to get info from a running service |
| Date | 2023-08-08 16:31 +0200 |
| Organization | A noiseless patient Spider |
| Message-ID | <uatjk9$3edog$1@dont-email.me> (permalink) |
| References | <uarnls$314pb$1@dont-email.me> <uat5ap$3c0fm$1@dont-email.me> <uate87$39nhe$1@dont-email.me> |
On 08/08/2023 14:59, pozz wrote: > Il 08/08/2023 12:27, David Brown ha scritto: >> On 07/08/2023 23:28, pozz wrote: > [...] >>> What do you suggest? >>> >>> PS: In the past I read only a few posts regarding Linux development, >>> even if it's for embedded devices. However I don't know how to ask >>> questions related to linux development, I noticed Usenet linux groups >>> are somewhat dead. >> >> I don't know what kind of information you are needing, but an easy >> option might be to have the python service regularly write out a json >> format file with the current status or other information. The web app >> can have Javascript that regularly reads that file and handles it on >> the user's web browser. And if you want to go the other way, your >> Python code can use "inotify" waits to see file writes from the web >> server. > > Sincerely I don't like your solution. First of all, you are writing > regularly on a normal file in the filesystem. Ok, maybe I can use a > tmpfs filesystem in RAM. > That would be the normal choice, yes. > Another issue I see is synchronization. Without a sync mechanism, the > reader could read bad data, because the writer is writing to it. > You typically handle this by writing to "status.tmp", then renaming (moving) it to "status.json", or whatever names you are using. Renaming a file like this is guaranteed atomic on Linux - anything attempting to open a handle to "status.json" will either get the old file (which is kept alive while the file descriptor is open) or the new file. This is not the first situation in which people wanted to avoid reading half-written files!
Back to comp.arch.embedded | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Linux Embedded: how to get info from a running service pozz <pozzugno@gmail.com> - 2023-08-07 23:28 +0200
Re: Linux Embedded: how to get info from a running service David Brown <david.brown@hesbynett.no> - 2023-08-08 12:27 +0200
Re: Linux Embedded: how to get info from a running service pozz <pozzugno@gmail.com> - 2023-08-08 14:59 +0200
Re: Linux Embedded: how to get info from a running service Grant Edwards <invalid@invalid.invalid> - 2023-08-08 14:31 +0000
Re: Linux Embedded: how to get info from a running service David Brown <david.brown@hesbynett.no> - 2023-08-08 16:31 +0200
Re: Linux Embedded: how to get info from a running service pozz <pozzugno@gmail.com> - 2023-08-08 17:14 +0200
Re: Linux Embedded: how to get info from a running service David Brown <david.brown@hesbynett.no> - 2023-08-08 18:54 +0200
Re: Linux Embedded: how to get info from a running service pozz <pozzugno@gmail.com> - 2023-08-09 09:27 +0200
Re: Linux Embedded: how to get info from a running service David Brown <david.brown@hesbynett.no> - 2023-08-09 10:29 +0200
Re: Linux Embedded: how to get info from a running service Grant Edwards <invalid@invalid.invalid> - 2023-08-09 13:00 +0000
csiph-web