| 
 |   
| version 1.10, 2025/04/01 20:11:46 | version 1.12, 2025/04/02 02:16:27 | 
|---|---|
| Line 24 | Line 24 | 
| * along with FreeM. If not, see <https://www.gnu.org/licenses/>. | * along with FreeM. If not, see <https://www.gnu.org/licenses/>. | 
| * | * | 
| * $Log$ | * $Log$ | 
| * Revision 1.12 2025/04/02 02:16:27 snw | |
| * Add fmadm status environment command and move journals to a better location | |
| * | |
| * Revision 1.11 2025/04/01 23:21:45 snw | |
| * fmadm commands for stopping, starting, and restarting environments now functional | |
| * | |
| * Revision 1.10 2025/04/01 20:11:46 snw | * Revision 1.10 2025/04/01 20:11:46 snw | 
| * Further work on fmadm | * Further work on fmadm | 
| * | * | 
| Line 562 int main (int argc, char **argv, char ** | Line 568 int main (int argc, char **argv, char ** | 
| m_log (1, "failure switching UIDs"); | m_log (1, "failure switching UIDs"); | 
| exit (1); | exit (1); | 
| } | } | 
| if (chdir (d_user->pw_dir) == -1) { | |
| fprintf (stderr, "freem: chdir failure\n"); | |
| m_log (1, "failure in chdir"); | |
| exit (1); | |
| } | |
| } | } | 
| } | } | 
| Line 585 int main (int argc, char **argv, char ** | Line 586 int main (int argc, char **argv, char ** | 
| char pidfile_buf[256]; | char pidfile_buf[256]; | 
| int errsav; | int errsav; | 
| pid_file_path = (char *) malloc (PATH_MAX * sizeof (char)); | |
| NULLPTRCHK(pid_file_path,"main"); | |
| snprintf (pid_file_path, PATH_MAX - 1, "%s/freem/run/%s.pid", LOCALSTATEDIR, shm_env); | snprintf (pid_file_path, PATH_MAX - 1, "%s/freem/run/%s.pid", LOCALSTATEDIR, shm_env); | 
| printf (pid_file_path); | |
| m_log (1, pid_file_path); | |
| pid_fd = open (pid_file_path, O_RDWR | O_CREAT, 0640); | pid_fd = open (pid_file_path, O_RDWR | O_CREAT, 0640); | 
| errsav = errno; | errsav = errno; | 
| Line 609 int main (int argc, char **argv, char ** | Line 610 int main (int argc, char **argv, char ** | 
| sprintf (pidfile_buf, "%ld\n", (long) getpid ()); | sprintf (pidfile_buf, "%ld\n", (long) getpid ()); | 
| write (pid_fd, pidfile_buf, strlen (pidfile_buf)); | write (pid_fd, pidfile_buf, strlen (pidfile_buf)); | 
| close (pid_fd); | |
| } | } | 
| Line 816 int main (int argc, char **argv, char ** | Line 816 int main (int argc, char **argv, char ** | 
| fprintf (stderr, "freem: terminating\r\n"); | fprintf (stderr, "freem: terminating\r\n"); | 
| cleanup (); | cleanup (); | 
| exit (0); | exit (0); | 
| } | } | 
| Line 942 void freem_usage(void) | Line 943 void freem_usage(void) | 
| fprintf (stdout, "\t-x <MCODE>\n\t\texecute M code <MCODE> on startup\n\n"); | fprintf (stdout, "\t-x <MCODE>\n\t\texecute M code <MCODE> on startup\n\n"); | 
| fprintf (stdout, "\t-d\n\t\trun the FreeM daemon (one and only one FreeM daemon must always be running)\n\n"); | fprintf (stdout, "\t-d\n\t\trun the FreeM daemon (one and only one FreeM daemon must always be running)\n\n"); | 
| fprintf (stdout, "\t-k\n\t\trun the FreeM daemon in foreground (requires --daemon)\n\n"); | fprintf (stdout, "\t-k\n\t\trun the FreeM daemon in foreground (requires --daemon)\n\n"); | 
| fprintf (stdout, "\t-p <PIDFILE>\n\t\tuse <PIDFILE> to record the PID of the FreeM daemon\n\n\n"); | |
| fprintf (stdout, "\t-S <BYTES>\n\t\tsets the size of the shared memory segment where FreeM stores the job table, lock table, and IPC table.\n"); | fprintf (stdout, "\t-S <BYTES>\n\t\tsets the size of the shared memory segment where FreeM stores the job table, lock table, and IPC table.\n"); | 
| #endif | #endif | 
| fprintf (stdout, "\t\t - Each concurrent job takes %d bytes (1 page) of shared memory\n", PG_SIZE); | fprintf (stdout, "\t\t - Each concurrent job takes %d bytes (1 page) of shared memory\n", PG_SIZE); |