I remember having the habit of always doing “cd /” before restarting services. This was because, when starting a service manually, this service would similarly inherit the current working directory of the shell, and many services would behave weirdly in various ways. Running a root shell, your current directory was most often either “/root”, or something like “/home/someuser” if you had done “su” or the like. The “/root” directory was unreadable by unprivileged users, and if the service lowered its privileges by changing user id to an unprivileged user, the service was no longer allowed to access its current directory, often leading to weird errors. The “/home/someuser” directory was also a source of errors, since the service might happily be creating weird files there, sometimes owned by the root user. Also, if the “/home/someuser” directory was mounted via NFS, you might get access permission errors if the NFS server had squashroot configured (as it should), but it might also lead to weird behavior when the NFS server itself was restarted or taken down; this seemingly unrelated service would start behaving weirdly, just because its current working directory was a directory served by the NFS server.
In short, yeah, life before systemd was hard.